Device and method for spectrum allocation, medium, and computer program product

By using a blockchain-based distributed spectrum allocation scheme, consensus nodes and master nodes collaboratively construct a spectrum transaction graph, solving the problems of high computational complexity in centralized schemes and lack of global information in distributed schemes, thus achieving efficient spectrum resource utilization and low-interference allocation.

WO2026067263A1PCT designated stage Publication Date: 2026-04-02SONY GROUP CORP +1
View PDF 4 Cites 0 Cited by

Patent Information

Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Filing Date
2025-09-19
Publication Date
2026-04-02

AI Technical Summary

Technical Problem

Centralized dynamic spectrum allocation schemes have high computational complexity when the number of users and resources is large, and failure of the central node may lead to network transmission interruption; distributed schemes lack global information, which may lead to conflict in spectrum allocation results.

Method used

A distributed spectrum allocation scheme based on blockchain is adopted. Through the collaborative work of consensus nodes, master nodes and non-consensus nodes, blockchain technology is used to construct spectrum transaction graphs and adjust interference to achieve distributed spectrum allocation.

Benefits of technology

It improves the utilization rate of spectrum resources, reduces interference between users, lowers computing and communication overhead, and enhances network transmission efficiency.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN2025122646_02042026_PF_FP_ABST
    Figure CN2025122646_02042026_PF_FP_ABST
Patent Text Reader

Abstract

The present disclosure relates to a device and method for spectrum allocation, a medium, and a computer program product. An electronic device, as a consensus node, participates in blockchain-based spectrum allocation. The electronic device is configured to: send a spectrum application transaction to a master node of a blockchain; receive a spectrum transaction list from the master node, the spectrum transaction list comprising information related to spectrum application transactions of a plurality of consensus nodes in the blockchain; construct an initial spectrum transaction graph for the plurality of consensus nodes on the basis of the received spectrum transaction list, the initial spectrum transaction graph comprising a spectrum range and a spectrum usage area that are to be allocated to each consensus node among the plurality of consensus nodes; on the basis of a spectrum interference relationship in the initial spectrum transaction graph, adjust at least one of the spectrum range and the spectrum usage area that are to be allocated, to generate an interference-adjusted spectrum transaction graph; and send a voting message to the master node, the voting message comprising information related to the interference-adjusted spectrum transaction graph.
Need to check novelty before this filing date? Find Prior Art

Description

Apparatuses, methods, media, and computer program products for spectrum allocation

[0001] Cross Reference to Related Applications

[0002] This application claims priority to Chinese Patent Application No. 202411330124.6, filed September 24, 2024, which is incorporated by reference herein in its entirety. TECHNICAL FIELD

[0003] The present disclosure relates to the field of spectrum allocation, and more specifically, the present disclosure relates to blockchain-based spectrum allocation. BACKGROUND

[0004] Dynamic spectrum allocation is an important technical approach to improve spectrum resource utilization and alleviate spectrum resource shortage.

[0005] In a centralized dynamic spectrum allocation scheme, a center node obtains spectrum application information of each node, and determines a spectrum allocation scheme for each node by solving an optimization problem. This scheme needs to obtain global information, and the communication overhead can be large. In addition, when the number of users and resources is large, the computational complexity increases, and the requirement for computing resources increases. In addition, if the center node fails or becomes a bottleneck, it can cause the entire network transmission to be interrupted and the performance to be reduced.

[0006] In a distributed dynamic spectrum allocation scheme, each node dynamically allocates and uses spectrum resources according to the current spectrum usage without central control through local sensing and decision-making. However, due to the lack of global information by each node, the spectrum allocation results can conflict with each other. SUMMARY

[0007] A brief summary of the present disclosure is presented in the following to provide a basic understanding of some aspects of the present disclosure. However, it should be understood that this summary is not an extensive overview of the present disclosure. It is not intended to identify key or critical elements of the present disclosure or to delineate the scope of the present disclosure. Its sole purpose is to present some concepts of the present disclosure in a simplified form as a prelude to the more detailed description that is presented later.

[0008] As described above, the centralized dynamic spectrum allocation scheme has increased computational complexity and increased requirements for computing resources when the number of users and resources is large. In addition, if the center node fails or becomes a bottleneck, it can cause the entire network transmission to be interrupted and the performance to be reduced. On the other hand, in the distributed dynamic spectrum allocation scheme, although the computational overhead is relatively reduced, due to the lack of global information by each node, the spectrum allocation results can conflict with each other.

[0009] In view of one or more of the above problems, the present disclosure provides a blockchain-based distributed dynamic spectrum allocation scheme capable of improving the resource utilization of distributed spectrum allocation while minimizing interference between users.

[0010] According to an aspect of the present disclosure, an electronic device is provided, which participates in a blockchain-based spectrum allocation as a consensus node. The electronic device can include processing circuitry configured to: send a spectrum application transaction to a master node of the blockchain; receive a spectrum transaction list from the master node, the spectrum transaction list including information about spectrum application transactions of a plurality of consensus nodes in the blockchain; construct an initial spectrum transaction graph for the plurality of consensus nodes according to the received spectrum transaction list, the initial spectrum transaction graph including a spectrum range and a spectrum usage area to be allocated to each consensus node of the plurality of consensus nodes; adjust at least one of the spectrum range and the spectrum usage area to be allocated according to a spectrum interference relationship in the initial spectrum transaction graph to generate an interference-adjusted spectrum transaction graph; and send a voting message to the master node, the voting message including information about the interference-adjusted spectrum transaction graph.

[0011] According to another aspect of the present disclosure, an electronic device is provided, which participates in a blockchain-based distributed spectrum allocation as a master node. The electronic device can include processing circuitry configured to: collect spectrum application transactions from a plurality of consensus nodes of the blockchain; construct a spectrum transaction list according to the collected spectrum application transactions of the plurality of consensus nodes, the spectrum transaction list including information about spectrum application transactions of a plurality of consensus nodes in the blockchain; broadcast the spectrum transaction list to the plurality of consensus nodes, the spectrum transaction list used by each consensus node of the plurality of consensus nodes to construct an initial spectrum transaction graph for the plurality of consensus nodes, the initial spectrum transaction graph including a spectrum range and a spectrum usage area to be allocated to each consensus node of the plurality of consensus nodes, each consensus node of the plurality of consensus nodes adjusting at least one of the spectrum range and the spectrum usage area to be allocated according to a spectrum interference relationship in the initial spectrum transaction graph to generate an interference-adjusted spectrum transaction graph; and collect voting messages from the plurality of consensus nodes for transaction confirmation of the spectrum transaction graph, the voting messages including information about the interference-adjusted spectrum transaction graph.

[0012] According to another aspect of the present disclosure, there is provided an electronic device participating in a blockchain-based distributed spectrum allocation as a non-consensus node. The electronic device can include processing circuitry configured to receive a spectrum allocation start transaction broadcast from a primary node of the blockchain, receive a spectrum allocation end transaction broadcast from the primary node, the spectrum allocation end message including spectrum allocation results for a plurality of consensus nodes of the blockchain, and write the spectrum allocation results to a ledger of the blockchain, wherein the consensus nodes are nodes that make spectrum application transactions, the non-consensus node is a node that does not make spectrum application transactions, and the spectrum allocation results are generated by the primary node by collecting spectrum application transactions from the plurality of consensus nodes, constructing a spectrum transaction list from the collected spectrum application transactions of the plurality of consensus nodes, the spectrum transaction list including information related to spectrum application transactions of the plurality of consensus nodes in the blockchain, broadcasting the spectrum transaction list to the plurality of consensus nodes, the spectrum transaction list used by each consensus node of the plurality of consensus nodes to construct an initial spectrum transaction graph for the plurality of consensus nodes, the initial spectrum transaction graph including a spectrum range and a spectrum usage area to be allocated to each consensus node of the plurality of consensus nodes, each consensus node of the plurality of consensus nodes adjusting at least one of the spectrum range and the spectrum usage area to be allocated according to a spectrum interference relationship in the initial spectrum transaction graph to generate an interference-adjusted spectrum transaction graph, collecting voting messages from the plurality of consensus nodes for transaction confirmation of the spectrum transaction graph, the voting messages including information related to the interference-adjusted spectrum transaction graph, and constructing a spectrum allocation end transaction, the spectrum allocation end transaction including spectrum allocation results for the plurality of consensus nodes determined according to the interference-adjusted spectrum transaction graph.

[0013] According to another aspect of the present disclosure, there is provided a blockchain-based spectrum allocation method for an electronic device participating in the spectrum allocation as a consensus node. The method can include sending a spectrum application transaction to a primary node of the blockchain, receiving a spectrum transaction list from the primary node, the spectrum transaction list including information related to spectrum application transactions of a plurality of consensus nodes in the blockchain, constructing an initial spectrum transaction graph for the plurality of consensus nodes according to the received spectrum transaction list, the initial spectrum transaction graph including a spectrum range and a spectrum usage area to be allocated to each consensus node of the plurality of consensus nodes, adjusting at least one of the spectrum range and the spectrum usage area to be allocated according to a spectrum interference relationship in the initial spectrum transaction graph to generate an interference-adjusted spectrum transaction graph, and sending a voting message to the primary node, the voting message including information related to the interference-adjusted spectrum transaction graph.

[0014] According to another aspect of the present disclosure, there is provided a blockchain-based spectrum allocation method for an electronic device participating in the spectrum allocation as a primary node. The method can include collecting spectrum application transactions from a plurality of consensus nodes of the blockchain; constructing a spectrum transaction list from the collected spectrum application transactions of the plurality of consensus nodes, the spectrum transaction list including information about the spectrum application transactions of the plurality of consensus nodes in the blockchain; broadcasting the spectrum transaction list to the plurality of consensus nodes, the spectrum transaction list used by each of the plurality of consensus nodes to construct an initial spectrum transaction graph for the plurality of consensus nodes, the initial spectrum transaction graph including a spectrum range and a spectrum usage area to be allocated to each of the plurality of consensus nodes, each of the plurality of consensus nodes adjusting at least one of the spectrum range and the spectrum usage area to be allocated according to a spectrum interference relationship in the initial spectrum transaction graph to generate an interference-adjusted spectrum transaction graph; and collecting voting messages from the plurality of consensus nodes for transaction confirmation of the spectrum transaction graph, the voting messages including information about the interference-adjusted spectrum transaction graph.

[0015] According to another aspect of the present disclosure, there is provided a blockchain-based spectrum allocation method for an electronic device participating in the spectrum allocation as a non-consensus node. The method can include receiving a spectrum allocation start transaction broadcasted from a primary node of the blockchain, receiving a spectrum allocation end transaction broadcasted from the primary node, the spectrum allocation end transaction including spectrum allocation results for a plurality of consensus nodes of the blockchain, and writing the spectrum allocation results to a ledger of the blockchain, wherein the consensus nodes are nodes that make spectrum application transactions, the non-consensus node is a node that does not make spectrum application transactions, and the spectrum allocation results are generated by the primary node by collecting spectrum application transactions from the plurality of consensus nodes, constructing a spectrum transaction list from the collected spectrum application transactions of the plurality of consensus nodes, the spectrum transaction list including information about spectrum application transactions of the plurality of consensus nodes in the blockchain, broadcasting the spectrum transaction list to the plurality of consensus nodes, the spectrum transaction list being used by each of the plurality of consensus nodes to construct an initial spectrum transaction graph for the plurality of consensus nodes, the initial spectrum transaction graph including a spectrum range and a spectrum usage area to be allocated to each of the plurality of consensus nodes, each of the plurality of consensus nodes adjusting at least one of the spectrum range and the spectrum usage area to be allocated according to a spectrum interference relationship in the initial spectrum transaction graph to generate an interference-adjusted spectrum transaction graph, collecting voting messages from the plurality of consensus nodes for transaction confirmation of the spectrum transaction graph, the voting messages including information about the interference-adjusted spectrum transaction graph, and constructing a spectrum allocation end transaction, the spectrum allocation end transaction including spectrum allocation results for the plurality of consensus nodes determined according to the interference-adjusted spectrum transaction graph.

[0016] According to another aspect of the present disclosure, there is provided a computer-readable storage medium including executable instructions that, when executed by an information processing apparatus, cause the information processing apparatus to perform a spectrum allocation method according to the present disclosure.

[0017] According to another aspect of the present disclosure, there is provided a computer program product including a computer program that, when executed by a processor, causes the processor to perform a spectrum allocation method according to the present disclosure. BRIEF DESCRIPTION OF DRAWINGS

[0018] The accompanying drawings, which constitute a part of this specification, illustrate embodiments of the present disclosure and serve to explain the principles of the present disclosure.

[0019] Reference will now be made to the drawings to describe the present disclosure in greater detail. The present disclosure can be more clearly understood when the following detailed description is taken in conjunction with the accompanying drawings, in which:

[0020] FIG. 1 is an exemplary configuration block diagram of an electronic device as a consensus node according to an embodiment of the present disclosure;

[0021] FIG. 2 is an exemplary flowchart of a spectrum allocation method for a consensus node according to an embodiment of the present disclosure;

[0022] FIG. 3 is an exemplary configuration block diagram of an electronic device as a primary node according to an embodiment of the present disclosure;

[0023] FIG. 4 is an exemplary flowchart of a spectrum allocation method for a primary node according to an embodiment of the present disclosure;

[0024] FIG. 5 is an exemplary configuration block diagram of an electronic device as a non-consensus node according to an embodiment of the present disclosure;

[0025] FIG. 6 is an exemplary flowchart of a spectrum allocation method for a non-consensus node according to an embodiment of the present disclosure;

[0026] FIG. 7 is an exemplary interaction flowchart illustrating interactions of nodes in a distributed spectrum allocation method according to an embodiment of the present disclosure;

[0027] FIGS. 8 to 10 are exemplary construction processes of a spectrum transaction graph according to an embodiment of the present disclosure;

[0028] FIG. 11 is a construction schematic diagram of a Merkel tree according to an embodiment of the present disclosure;

[0029] FIG. 12 is a model schematic diagram of a distributed spectrum allocation according to an embodiment of the present disclosure;

[0030] FIG. 13 is an exemplary consensus flowchart of a distributed spectrum allocation according to an embodiment of the present disclosure;

[0031] FIG. 14 is a PBFT consensus flowchart as a comparative example; and

[0032] FIG. 15 illustrates an exemplary configuration of a computing device that can implement embodiments according to the present disclosure. DETAILED DESCRIPTION

[0033] Various exemplary embodiments of the present disclosure will now be described in detail with reference to the accompanying drawings. It should be noted that the relative arrangement of components and steps, numerical expressions, and numerical values set forth in these embodiments are not limiting to the scope of the present disclosure unless specifically stated otherwise.

[0034] Meanwhile, it should be understood that the sizes of the respective parts shown in the drawings are not drawn in actual proportional relationships for the convenience of description.

[0035] The following description of at least one exemplary embodiment is merely exemplary in nature and is in no way intended to limit the disclosure or its application or uses.

[0036] Techniques, methods, and devices known to those of ordinary skill in the relevant art can not be discussed in detail herein. However, where appropriate, such techniques, methods, and devices can be considered part of the description of the present disclosure.

[0037] In all of the examples shown and discussed herein, any specific values should be interpreted as merely exemplary, and not as a limitation. Thus, other examples of exemplary embodiments can have different values.

[0038] It should be noted that like reference numerals and letters refer to like items in the following figures, and as a result, further discussion of such items is unnecessary in subsequent figures.

[0039] According to the blockchain-based distributed spectrum allocation scheme of the present disclosure, in each round of spectrum allocation period, there are three roles of nodes on the blockchain, as follows.

[0040] Consensus node: conducts spectrum application transactions in the current round of spectrum allocation period, and participates in voting consensus on the spectrum allocation result, locally stores all spectrum application transactions in the current round of spectrum allocation period, and completes the process of spectrum allocation and adjustment.

[0041] Non-consensus node: does not conduct spectrum application transactions in the current round of spectrum allocation period, and does not participate in voting consensus on the spectrum allocation result, and does not locally store spectrum application transactions in the current period.

[0042] Master node: collects spectrum application transactions and broadcasts to consensus nodes, collects voting messages and constructs confirmation transactions to broadcast to all nodes, thereby reducing the communication overhead between nodes.

[0043] In the present disclosure, the blockchain may, for example, be a consortium chain, and the "nodes" in the blockchain correspond to electronic devices participating in spectrum allocation, which may, for example, be any device with spectrum demand, including but not limited to wireless terminals, drones, portable smart devices, vehicle-mounted terminals, Internet of Things devices, etc. In addition, in the present disclosure, the master node can be a consensus node or a non-consensus node. In the case of a non-consensus node, only the collection and broadcast of transactions are performed. In the case of a consensus node, further operations of the consensus node are performed. In addition, after entering a new round of spectrum allocation period, the roles of the nodes can change.

[0044] Next, referring to FIGS. 1 to 7, a spectrum allocation scheme according to the present disclosure is described, in which FIGS. 1 and 2 respectively illustrate an exemplary configuration and an exemplary method flow of a consensus node side according to an embodiment of the present disclosure; FIGS. 3 and 4 respectively illustrate an exemplary configuration and an exemplary method flow of a primary node side according to an embodiment of the present disclosure; FIGS. 5 and 6 respectively illustrate an exemplary configuration and an exemplary method flow of a non-consensus node side according to an embodiment of the present disclosure. In addition, FIG. 7 illustrates an interaction flow between a primary node, a consensus node, and a non-consensus node according to an embodiment of the present disclosure.

[0045] Referring first to FIG. 1, an exemplary configuration block diagram of an electronic device 1000 as a consensus node according to an embodiment of the present disclosure is illustrated.

[0046] In some embodiments, as illustrated in FIG. 1, the electronic device 1000 can include a processing circuit 1010. The processing circuit 1010 of the electronic device 1000 provides various functions of the electronic device 1000. In some embodiments, the processing circuit 1010 of the electronic device 1000 can be configured to perform a spectrum allocation method for a consensus node side.

[0047] The processing circuit 1010 can refer to various implementations of digital circuitry, analog circuitry, or mixed-signal (combination of analog and digital) circuitry that performs a function in a computing system. The processing circuit can include, for example, circuits such as integrated circuits (ICs), application-specific integrated circuits (ASICs), portions or circuits of individual processor cores, entire processor cores, individual processors, programmable hardware devices such as field programmable gate arrays (FPGAs), and / or systems on chips that include a plurality of processor cores.

[0048] In some embodiments, the processing circuit 1010 can include a sending unit 1020, a receiving unit 1030, and a spectrum transaction graph construction unit 1040 configured to perform respective steps in a spectrum allocation method 2000 for a consensus node side illustrated in FIG. 2 described later.

[0049] In some embodiments, the electronic device 1000 can further include a memory (not shown). The memory of the electronic device 1000 can store information generated by the processing circuit 1010 as well as programs and data for operation of the electronic device 1010. The memory can be a volatile memory and / or a non-volatile memory. For example, the memory can include, but is not limited to, random access memory (RAM), dynamic random access memory (DRAM), static random access memory (SRAM), read-only memory (ROM), and flash memory. In addition, the electronic device 1000 can be implemented in a chip level or can also be implemented in a device level by including other external components.

[0050] FIG. 2 shows an exemplary flowchart of a spectrum allocation method 2000 for a consensus node according to an embodiment of the present disclosure. The spectrum allocation method can be used, for example, for the electronic device 1000 as shown in FIG. 1.

[0051] As shown in FIG. 2, in step S2010, the sending unit 1020 sends a spectrum application transaction to a master node of a blockchain. The master node can correspond, for example, to the electronic device 3000 for a master node side described later in FIG. 3. In some embodiments, the spectrum application transaction can include identity information (e.g., a user ID) of the consensus node, a spectrum range applied for, a spectrum usage area applied for, and the like.

[0052] Next, in step S2020, the receiving unit 1030 receives a spectrum transaction list from the master node, the spectrum transaction list including information about spectrum application transactions of a plurality of consensus nodes in the blockchain. The spectrum transaction list can embody, for example, information of spectrum application transactions of all consensus nodes participating in spectrum application in the current spectrum allocation period, for the consensus node to construct a spectrum transaction graph according to the spectrum transaction list.

[0053] Next, in step S2030, the spectrum transaction graph construction unit 1040 constructs an initial spectrum transaction graph for the plurality of consensus nodes according to the received spectrum transaction list, the initial spectrum transaction graph including a spectrum range and a spectrum usage area to be allocated to each consensus node of the plurality of consensus nodes. In step S2040, the spectrum transaction graph construction unit 1040 adjusts at least one of the spectrum range and the spectrum usage area to be allocated according to a spectrum interference relationship in the initial spectrum transaction graph, to generate an interference-adjusted spectrum transaction graph. Through steps S2030 and S2040, the spectrum transaction graph construction unit 1040 completes the construction of the spectrum transaction graph.

[0054] Next, in step S2050, the sending unit 1020 sends a voting message to the master node, the voting message including information about the interference-adjusted spectrum transaction graph. The voting message is used for the master node to make a subsequent transaction confirmation and an allocation end transaction to complete the current spectrum allocation.

[0055] In the spectrum allocation method 2000 for a consensus node according to the present disclosure, since the consensus node receives the spectrum transaction list from the master node, it can master the spectrum application transaction information of all consensus nodes that make spectrum application transactions in the current spectrum allocation period, and further adjust the spectrum range and / or the spectrum usage area to be allocated based on the spectrum interference relationship between the consensus nodes, so as to generate an interference-adjusted spectrum transaction graph, to reduce the conflict of the spectrum allocation result.

[0056] Referring next to FIG. 3, shown is an exemplary configuration block diagram of an electronic device 3000 as a master node, according to an embodiment of the present disclosure.

[0057] In some embodiments, as shown in FIG. 3, the electronic device 3000 can include a processing circuit 3010. The processing circuit 3010 of the electronic device 3000 provides various functions of the electronic device 3000. In some embodiments, the processing circuit 3010 of the electronic device 3000 can be configured to perform a spectrum allocation method for a master node side.

[0058] The processing circuit 3010 can refer to various implementations of digital circuitry, analog circuitry, or mixed signal (combination of analog and digital) circuitry that performs functions in a computing system. The processing circuit can include, for example, portions or circuits of circuitry such as integrated circuits (ICs), application specific integrated circuits (ASICs), portions or circuits of individual processor cores, entire processor cores, individual processors, programmable hardware devices such as field programmable gate arrays (FPGAs), and / or systems on a chip that include multiple processors.

[0059] In some embodiments, the processing circuit 3010 can include a collecting unit 3020, a broadcasting unit 3030, and a spectrum trading list constructing unit 3040 configured to perform respective steps in the spectrum allocation method 3000 for a master node side shown in FIG. 4 described later.

[0060] In some embodiments, the electronic device 3000 can further include a memory (not shown). The memory of the electronic device 3000 can store information generated by the processing circuit 3010 as well as programs and data used for the operation of the electronic device 3010. The memory can be a volatile memory and / or a non-volatile memory. For example, the memory can include, but is not limited to, random access memory (RAM), dynamic random access memory (DRAM), static random access memory (SRAM), read only memory (ROM), and flash memory. In addition, the electronic device 3000 can be implemented in a chip level or can also be implemented in a device level by including other external components.

[0061] FIG. 4 shows an exemplary flowchart of a spectrum allocation method 4000 for a master node, according to an embodiment of the present disclosure. The spectrum allocation method can be used, for example, for the electronic device 3000 as shown in FIG. 3.

[0062] As shown in FIG. 4, in step S4010, the collection unit 3020 collects spectrum application transactions from a plurality of consensus nodes of the blockchain. The plurality of consensus nodes may, for example, correspond to the electronic device 1000 for the consensus node side shown in FIG. 2. In some embodiments, the spectrum application transaction can include identity information (e.g., user ID) of the consensus node, a spectrum range applied for, a spectrum use area applied for, and the like.

[0063] Next, in step S4020, the spectrum transaction list construction unit 3040 constructs a spectrum transaction list according to the collected spectrum application transactions of the plurality of consensus nodes. The spectrum transaction list includes information about the spectrum application transactions of the plurality of consensus nodes in the blockchain. The spectrum transaction list may, for example, embody information of spectrum application transactions of all consensus nodes participating in spectrum application in the current spectrum allocation period, for the consensus nodes to construct a spectrum transaction graph according to the spectrum transaction list.

[0064] Next, in step S4030, the broadcasting unit 3030 broadcasts the spectrum transaction list to the plurality of consensus nodes, for the consensus nodes to construct a spectrum transaction graph according to steps S2030 and S2040 shown in FIG. 2.

[0065] Next, in step S4040, the collection unit 3020 collects voting messages from the plurality of consensus nodes for transaction confirmation of the spectrum transaction graph, the voting messages including information about the interference-adjusted spectrum transaction graph.

[0066] According to the spectrum allocation method 4000 for the master node of the present disclosure, the master node collects spectrum application transactions and broadcasts spectrum transaction lists to each consensus node, and collects voting messages from each consensus node. In this way, the master node does not need to determine a spectrum allocation scheme for each node by solving an optimization problem as in a centralized dynamic spectrum allocation scheme, but distributes the computational overhead to each consensus node to complete distributedly, thereby saving the computational complexity and computational resource requirements of the master node, reducing the communication overhead and improving the network transmission efficiency.

[0067] Next, referring to FIG. 5, an exemplary configuration block diagram of an electronic device 5000 as a non-consensus node according to an embodiment of the present disclosure is shown.

[0068] In some embodiments, as shown in FIG. 5, the electronic device 5000 can include a processing circuit 5010. The processing circuit 5010 of the electronic device 5000 provides various functions of the electronic device 5000. In some embodiments, the processing circuit 5010 of the electronic device 5000 can be configured to perform a spectrum allocation method for the non-consensus node side.

[0069] The processing circuit 5010 can refer to various implementations of digital circuitry, analog circuitry, or mixed-signal (combination of analog and digital) circuitry that perform a function in a computing system. The processing circuit can include, for example, portions or circuits of an integrated circuit (IC), an application-specific integrated circuit (ASIC), a portion of a processor, an entire processor, an entire system, a programmable hardware device such as a field programmable gate array (FPGA), and / or a system that includes a plurality of processors.

[0070] In some embodiments, the processing circuit 5010 can include a receiving unit 5020 and a ledger writing unit 5030 configured to perform the corresponding steps in the spectrum allocation method 6000 for the non-consensus node side shown in FIG. 6 described later.

[0071] In some embodiments, the electronic device 5000 can further include a memory (not shown). The memory of the electronic device 5000 can store information generated by the processing circuit 5010 and programs and data for the operation of the electronic device 5010. The memory can be a volatile memory and / or a non-volatile memory. For example, the memory can include, but is not limited to, a random access memory (RAM), a dynamic random access memory (DRAM), a static random access memory (SRAM), a read-only memory (ROM), and a flash memory. In addition, the electronic device 5000 can be implemented in a chip level, or can also be implemented in a device level by including other external components.

[0072] FIG. 6 shows an exemplary flowchart of a spectrum allocation method 6000 for a non-consensus node according to an embodiment of the present disclosure. The spectrum allocation method can be used, for example, for the electronic device 5000 shown in FIG. 5.

[0073] As shown in FIG. 6, in step S6010, the receiving unit 5020 receives a spectrum allocation start transaction broadcast from a main node of a blockchain. The main node can correspond, for example, to the electronic device 3000 for the main node side described in FIG. 3. Thus, the non-consensus node learns that the current spectrum allocation period has started. In addition, since the non-consensus node does not participate in the application for the current spectrum allocation, no spectrum application transaction is sent to the main node.

[0074] Next, in step S6020, the receiving unit 5020 receives a spectrum allocation end transaction broadcast from the main node. The spectrum allocation end message can include spectrum allocation results for a plurality of consensus nodes of the blockchain. The consensus nodes can correspond, for example, to the electronic device 1000 for the consensus node side described in FIG. 1.

[0075] Next, in step S6030, the ledger writing unit 5030 writes the spectrum allocation results to the ledger of the blockchain.

[0076] In the spectrum allocation method 6000 for non-consensus nodes according to the present disclosure, the non-consensus nodes only receive the spectrum allocation start transaction and the spectrum allocation end transaction, and store the spectrum allocation result, without receiving and storing the spectrum application transaction information of the consensus nodes, thereby being able to save storage space. In addition, the non-consensus nodes cannot obtain the data of the period not participating in the spectrum application, thereby being able to protect data privacy. In addition, the ledger is in the form of transactions, and the storage part of the data is still consistent with the global state, thereby improving synchronization efficiency.

[0077] Next, referring to FIG. 7, an exemplary interaction flowchart of the interaction of each node in the distributed spectrum allocation method according to an embodiment of the present disclosure is described. For ease of description, the spectrum allocation method in the present embodiment is described in the following stages:

[0078] 1. Initialization

[0079] 2. Channel sensing and spectrum request

[0080] 3. Spectrum allocation and adjustment

[0081] 4. Spectrum allocation result consensus confirmation

[0082] 1. Initialization (steps ① and ②)

[0083] As shown in FIG. 7, in some embodiments, in step ①, all nodes on the blockchain submit identity information on-chain, thereby completing the registration of node identity. In addition, in some embodiments, spectrum allocation can be performed according to a fixed time period, and at the beginning of each period, the spectrum management user (e.g., the master node) submits the available spectrum resource information on-chain.

[0084] The nodes on the blockchain include a master node 700, consensus nodes 710, and non-consensus nodes 720, which can correspond to the electronic device 3000 for the master node side described in FIG. 3, the electronic device 1000 for the consensus node side described in FIG. 1, and the electronic device 5000 for the non-consensus node side described in FIG. 5, respectively.

[0085] In some embodiments, the identity information of each node can include {uid, dev_info, pub_key}, which correspond to the following contents, respectively:

[0086] 1) uid: user ID;

[0087] 2) dev_info: device information;

[0088] 3) pub_key: user public key.

[0089] In some embodiments, in step ②, at the beginning of the current spectrum allocation period, the main node 700 issues an allocation start transaction and broadcasts it to all nodes on the blockchain, including consensus nodes 710 and non-consensus nodes 720. In some embodiments, the main node 700 in the current spectrum allocation period can be determined by the situation in the last spectrum allocation period, for example, the node with the highest spectrum access revenue in the last spectrum allocation period can be determined as the main node in the next spectrum allocation period. In addition, as will be described in more detail below, the main node of the current spectrum allocation period can also be determined according to the contribution of each node in the current round of channel sensing. In addition, the main node can also be determined in other ways, as long as the way of determining the main node is agreed upon by all nodes on the blockchain. In addition, after the nodes pass the verification of the allocation start transaction, the transaction is written into the ledger, and the current spectrum allocation begins.

[0090] In some embodiments, the main node 700 issues an allocation start transaction tx alloc start on the blockchain, including information about available spectrum resources and restrictions, etc. The transaction content can include {current hash, freq, total area, min reward, max area}, which correspond to the following contents respectively:

[0091] 1) current hash: current transaction hash;

[0092] 2) freq: available frequency band;

[0093] 3) total area: available area range;

[0094] 4) min reward: minimum spectrum access revenue;

[0095] 5) max area: maximum usage area.

[0096] In the allocation start transaction, the minimum spectrum access revenue and the maximum usage area can be pre-set. If the spectrum usage area applied for by a node in the spectrum application transaction exceeds the maximum usage area, or the estimated spectrum access revenue is lower than the minimum spectrum access revenue, the node will not be allocated spectrum. In addition, these two parameters are optional and not mandatory, and can be selectively configured according to actual needs.

[0097] The following shows an example data structure of the allocation start transaction in the present disclosure.

[0098] In the above data structure:

[0099] 1) The hash of the current transaction Current_hash can be calculated according to the transaction body, transaction type, timestamp, and random number, for example, and the calculation formula can be: current_hash = hash(Body, Tx_type, TimeStamp, Nonce) (1);

[0100] 2) The hash of the previous transaction Previous_hash can be set as the hash of the allocation end transaction tx alloc end in the previous spectrum allocation period, that is, in some embodiments, the allocation start transaction can be used as the root transaction for generating the spectrum transaction graph in the current period;

[0101] 3) The transaction type Tx_type can be divided into three types of transactions: the allocation start transaction tx alloc start, the spectrum application transaction tx apply, and the allocation end transaction tx alloc end.

[0102] 4) The signature signature can be generated by signing the current transaction hash using the private key of the sender.

[0103] 2. Channel sensing and spectrum request (step ③)

[0104] In some embodiments, as shown in FIG. 7, in step ③, the node (i.e., consensus node 710) that needs spectrum resources constructs a spectrum application transaction and sends it to the master node 700. This step corresponds to step S2010 described with reference to FIG. 2. In addition, the non-consensus node 720 does not need spectrum resources in this round, so it does not perform the spectrum application transaction.

[0105] In some embodiments, each node in the blockchain can perform channel sensing to check the channel quality of the currently available channel and whether there is interference, and upload the sensing result to the blockchain. In addition, the master node of the current spectrum allocation period can be determined according to the sensing contribution in the current round. The sensing contribution can be measured from aspects such as the number of sensed channels and the sensing accuracy. In addition, the master node of the current spectrum allocation period can also be determined by other indicators (such as the number of channels finally obtained in the last round (for example, the node with the largest number of channels obtained in the last round is determined as the master node), etc.). The specific steps of channel sensing and spectrum request are as follows:

[0106] Step 2.1, Channel sensing: The node to be accessed senses the available channel, and the purpose of sensing is to eliminate subsequent conflicts as much as possible and to discover illegal frequency use behavior. In addition, by requiring users to perform channel sensing, conflicts caused by some users directly accessing the channel without sensing the environment can be avoided.

[0107] Step 2.2, estimating the revenue: the user estimates the revenue of spectrum access based on the perceived channel state. On the one hand, if the user does not perform channel sensing, it will lead to inaccurate estimation of the revenue, resulting in a loss of revenue. Therefore, it is equivalent to achieving the incentive for spectrum sensing, helping the system to obtain the overall spectrum situation. On the other hand, the system will charge for spectrum access based on the estimated revenue, avoiding malicious competition for resources by users.

[0108] In some embodiments, the estimated revenue of spectrum access can be related to the transmission power, bandwidth, and usage area, which can be determined according to the specific application scenario. In some embodiments, the estimated revenue of spectrum access can be expressed as: R = βAC = βABlog2(1 + SNR) (2)

[0109] where β is a fixed coefficient, A is the area of the usage area, C is the transmission rate, B is the channel bandwidth, and SNR is the estimated transmission signal-to-noise ratio of the user in the channel. In addition, considering that the transmission power P of the user is fixed, the channel gain g and the noise power σ 2 are independent of the user, the estimated transmission signal-to-noise ratio is expressed as SNR = P|g| 2 / σ 2 .

[0110] Step 2.3, submitting the spectrum application transaction tx_apply: the user to be accessed packs the spectrum request information and the channel sensing result into the form of the spectrum application transaction and sends it to the main node 700. The spectrum application transaction can include: user ID, location, available channels perceived by the user, estimated revenue of spectrum access, proposed usage area, and adjustment coefficient (the value of 0 indicates that adjustment is not accepted).

[0111] The following shows an example data structure of the spectrum application transaction in the present disclosure.

[0112] In the above data structure, Previous_hash can change in the subsequent spectrum allocation and adjustment process, Allocated_channel and Authorized_area are the final allocation results, and this field is empty in the spectrum application transaction. In addition, the same parameters as the data structure of the allocation start transaction are omitted.

[0113] In some embodiments, the spectrum usage region adjustment coefficient can be preset to indicate the adjustment range of the spectrum usage region of the spectrum application transaction acceptable to the node. For example, the spectrum usage region adjustment coefficient can be set to any value in the range of [0, 1], where "0" indicates that the spectrum usage region can be adjusted arbitrarily, "1" indicates that no adjustment of the spectrum usage region is accepted, and a value between 0 and 1 indicates the adjustment ratio of the spectrum usage region that can be accepted, for example, 0.8 indicates that the spectrum usage region can be adjusted to at most 80% of the spectrum usage region of the application. In addition, the spectrum usage region adjustment coefficient can also be designed by other rules. By introducing the spectrum usage region adjustment coefficient, the interference-free conflict adjustment can be quickly completed. In addition, the consensus rule ensures that the adjustment process is verifiable without user interaction, reducing communication overhead. In addition, it should be understood that the spectrum usage region adjustment coefficient is optional and not mandatory, and can be selectively configured according to actual needs.

[0114] 3. Spectrum allocation and adjustment (steps ④, ⑤, ⑥, ⑦)

[0115] In some embodiments, as shown in FIG. 7, in step ④, the master node 700 collects spectrum application transactions from multiple consensus nodes 710 and constructs a spectrum transaction list. This step corresponds to steps S4010 and S4020 described with reference to FIG. 4.

[0116] In some embodiments, the master node 700 constructs a message data_msg containing all the collected spectrum application transactions, denoted as {tx_apply_1, tx_apply_2, L, tx_apply_N}, as the spectrum transaction list.

[0117] Next, in step ⑤, the master node 700 broadcasts the spectrum transaction list message to all consensus nodes 710. This step corresponds to step S4030 described with reference to FIG. 4.

[0118] In some embodiments, the master node 700 broadcasts the message data_msg as the spectrum transaction list to all consensus nodes 710 after waiting for the spectrum request time slot.

[0119] Next, in step ⑥, the consensus node 710 constructs an initial spectrum transaction graph according to the spectrum transaction list. This step corresponds to step S2030 described with reference to FIG. 2.

[0120] In some embodiments, the consensus node 710 serially arranges the spectrum application transactions without interference conflicts on one branch and parallelly arranges the spectrum application transactions with interference conflicts on multiple branches according to the received spectrum transaction list.

[0121] In some embodiments, the order of the spectrum application transactions on the branches in the serial arrangement can be determined according to one or more of the estimated spectrum access revenue size, the timestamp, and the transaction priority of the spectrum application transactions. In addition, one of the estimated spectrum access revenue size, the timestamp, and the transaction priority can be used as a priority criterion for the transaction ordering, and in the case that two or more transactions cannot be distinguished according to the criterion, the transactions can be ordered according to other criteria. The transaction priority can be added to the spectrum application transactions as a criterion for the transaction ordering. In addition, the transaction priority can also be determined in other ways. In the case that the ordering cannot be determined according to the above criteria, the ordering can be determined according to the transaction hash value.

[0122] In some embodiments, in step ⑦, the consensus node 710 adjusts the spectrum range and / or the spectrum use area to be allocated to make spectrum conflict adjustment, thereby generating an interference-adjusted spectrum transaction graph. This step corresponds to step S2040 described with reference to FIG. 2.

[0123] In some embodiments, at least one of the number of transactions in each branch of the plurality of branches in the spectrum transaction graph and the total estimated spectrum access revenue size is used to select a main branch from the plurality of branches. In addition, the main branch can be determined according to the number of transactions first, and in the case that the main branch cannot be determined according to the number of transactions, the main branch can be selected according to the total estimated spectrum access revenue size. In addition, for the spectrum application transactions on the branches other than the main branch in the spectrum transaction graph, the spectrum application transactions that have no interference conflict with the main branch are added to the main branch, and at least one of the spectrum range and the spectrum use area of the spectrum application transactions that have interference conflict with the main branch is adjusted.

[0124] Next, the example construction process of the spectrum transaction graph according to an embodiment of the present disclosure is described with reference to FIGS. 8 to 10.

[0125] In some embodiments, the consensus node constructs a transaction graph according to the interference relationship of the spectrum application transactions, in which the transactions with no interference conflict are arranged in order, the transactions with interference conflict are ordered in parallel, and the main branch can be determined according to the “maximum weight subtree” principle. The specific steps are as follows:

[0126] Step 3.1, transaction ordering: ordering according to the estimated spectrum access revenue size, the timestamp, the transaction priority, the transaction hash value, etc.

[0127] As shown in FIG. 8, U1 to U6 are six consensus nodes in the current spectrum application transaction, and the corresponding circles of U1 to U6 represent the interference relationship between them. The intersection of the circles represents the existence of interference, and the non-intersection represents the non-existence of interference. The interference relationship refers to the physical relationship between the nodes, which can be determined according to the geographical location of the user in the spectrum application transaction of each node in the spectrum transaction list, the applied spectrum use area and other parameters. In addition, according to the estimated spectrum access income size of U1 to U6 (for example, calculated according to the above formula (2)), it can be sorted as {U1, U2, U3, U4, U5, U6}.

[0128] Step 3.2, constructing a transaction graph: according to the transaction sorting in step 3.1, the first transaction (i.e. the transaction with the highest sorting) U1 is added after the root transaction (i.e. the start of the distribution transaction, shown as "Start" in FIG. 8) of the current spectrum distribution period generated in the initialization process, as the first transaction branch. Subsequent transactions are added to the spectrum transaction graph according to the following rules, and the Previous_hash field is set to the hash of the previous transaction:

[0129] Branch selection: the branches can be selected in the following order: the most transactions, the largest total estimated income, and the smallest hash value of the last transaction;

[0130] Interference determination: it is necessary to determine whether the existing transaction is interfered, if not, it is added to the end of the branch, if yes, the transaction that causes interference is found, and the branch adjustment is performed;

[0131] Branch adjustment: if the transaction is the first transaction of the branch, the next branch is selected according to the order of branch selection, and then the interference determination step is performed; if the transaction is not the first transaction of the branch, it is added after the previous transaction, forming a new branch; if it interferes with all existing branches, it is added after the root transaction, forming a new branch.

[0132] As shown in FIG. 8, for the second transaction U2, the branch where U1 is located is first selected, but since there is interference with U1, it is added after the previous transaction "Start" of U1, forming a new branch. For the next transaction U3, there is also interference with U1, so it is added after the previous transaction "Start" of U1, forming another new branch. For the next transaction U4, the branch where U1 is located is first selected, and since there is no interference with U1, it is added to the end of the branch where U1 is located. For the next transaction U5, the branch where U1 is located is first selected, but U5 interferes with the previous transaction U4 in the branch, so U5 is added after U1 to form a new branch. For the next transaction U6, since there is no interference, it is added to the end of the branch where U4 is located.

[0133] Step 3.3, determining the main branch: select the sub-tree with the largest weight according to the principle of the largest number of transactions and the largest total estimated income, and select a branch in the sub-tree as the main branch according to the principle, at this time, the Allocated_channel field of the transaction on the main branch is set to the same value (i.e., set to the same channel, for example, it can be the first channel in the available channel perceived by the user in the spectrum application transaction), and the Authorized_area field is set to area_apply.

[0134] As shown in FIG. 8, the branch {U1, U4, U6} can be set as the main branch, and the Allocated_channel field of each transaction is set to the same value, and the Authorized_area field of each transaction is set to the respective area_apply.

[0135] Next, referring to FIGS. 9 and 10, the process of conflict adaptive adjustment for the spectrum transaction graph formed in FIG. 8 is described.

[0136] In some embodiments, the transaction not on the main branch can be adjusted, the other available channel is selected first, and if there is still a conflict, the use area is adjusted to eliminate the conflict, at this time the transaction is added to the main branch by resetting the field Previous_hash and adjusting the position in the transaction graph. The specific steps are as follows:

[0137] Step 3.4, determining the adjustment order: sort the transactions not on the main branch according to the estimated spectrum access income size, such as determining the adjustment order as {U2, U3, U5} according to FIG. 8.

[0138] Step 3.5, adjusting the channel: adjusting the spectrum use area according to the spectrum use area adjustment coefficient of each consensus node set in advance. For the transaction to be adjusted, if there is no conflict with the existing transaction on the main branch, it is added after the latest transaction on the main branch, and the field Previous_hash is set to the hash of the latest transaction on the main branch, the Allocated_channel is set to the channel, and the Authorized_area is set to area_apply, otherwise wait for the adjustment range.

[0139] For example, as shown in FIG. 9, for U2, select other available channels (U2m is recorded after adjusting the channel), which does not conflict with the existing transaction on the main branch, so U2m is added after the latest transaction U6 on the main branch. For U3 and U5, it is assumed that channel adjustment cannot be performed, or channel adjustment will still conflict with the existing transaction on the main branch, so wait for the adjustment of the spectrum use area in step 3.6.

[0140] Step 3.6, adjusting the spectrum usage area: for the transactions that have not yet joined the main branch, adjust the usage area according to the size of the estimated spectrum access income in order, and calculate the maximum usage area in all available channels according to the interference relationship. If the usage area is determined to be within the acceptance range of the original transaction according to the spectrum usage area adjustment coefficient, join the main branch, and set the field Previous_hash to the hash of the latest transaction on the main branch, Allocated_channel to the channel corresponding to the maximum usage area, and Authorized_area to the maximum usage area. Otherwise, do not adjust.

[0141] For example, as shown in FIG. 10, first adjust the usage area of U3 according to the size of the estimated spectrum access income. As shown in FIG. 10, the maximum interference-free usage area of U3 is shown by the U3m shaded box in the dashed box of U3, and the usage area represented by the shaded box is within the acceptance range of the spectrum application transaction of U3 (for example, the ratio of the adjusted usage area to the applied usage area satisfies the constraint of the spectrum usage area adjustment coefficient). Then U3m is added to the end of the main branch. Next, adjust the usage area of U5. According to the spectrum usage area adjustment coefficient of U5, U5 can be set not to receive usage area adjustment, or the maximum adjusted usage area does not satisfy the constraint of the spectrum usage area adjustment coefficient set by U5, so no adjustment is made to the usage area of U5, and U5 is retained on the branch.

[0142] Thus, the conflict adaptive adjustment of the spectrum transaction graph is completed, and the interference-adjusted spectrum transaction graph is generated. In addition, after the generation of the allocation end transaction "End", the transaction is added to the end of the branch.

[0143] 4. Spectrum allocation result consensus confirmation (steps ⑧⑨⑩ )

[0144] Next, refer back to FIG. 7. After completing the above spectrum allocation and adjustment, all consensus nodes 710 send a pre-confirmation vote message vote_msg to the main node 700, with all transactions on the main branch except the root transaction tx_alloc_start as the spectrum allocation strategy of the current period. The vote message can include information related to the interference-adjusted spectrum transaction graph. In addition, since each consensus node generates the spectrum transaction graph in the same way, the spectrum transaction graph generated by each consensus node should also be the same. After the main node 700 collects enough votes and reaches a consensus, it constructs the allocation end transaction tx_alloc_end and broadcasts it to all network nodes.

[0145] In some embodiments, in step ⑧, the consensus node 710 can construct a Merkel tree according to the interference-adjusted spectrum transaction graph and calculate a root hash, and include the root hash as information related to the interference-adjusted spectrum transaction graph in the voting message.

[0146] Next, an embodiment of constructing a Merkel tree and calculating a root hash according to the present disclosure is described with reference to FIG. 11.

[0147] In some embodiments, the step of constructing a Merkel tree and calculating a root hash can be as follows.

[0148] 1. Constructing a Merkel tree: each transaction calculates a hash value according to a rule and constructs a Merkel tree as a leaf node, FIG. 11 is a construction example of 8 transactions, and the hash calculation formula is: N = hash(Parent TxN , hash(Body TxN ), hash(Result TxN )) (3),

[0149] wherein,

[0150] 1) TxN: Tx0 represents the root transaction tx_alloc_start, Tx1 represents the first application transaction apply_Tx1, and the following is the same;

[0151] 2) Parent: parent hash value;

[0152] 3) Body: transaction body, corresponding to spectrum application information, including application use area, estimated spectrum access income, spectrum use area adjustment coefficient, etc.;

[0153] 4) Result: corresponding to spectrum allocation result, including allocated channel and allocated use area.

[0154] Next, the root hash is calculated: all leaf nodes are nodes of the first layer tree, and are grouped two by two and the hash value after concatenation is calculated, such as H S1 = hash(H s , H1), which is a node of the second layer tree; then the nodes of the second layer tree are grouped two by two to calculate the hash value as the nodes of the third layer tree, such as H S123 = hash(H s1 , H 23 ); through layer-by-layer recursion, the hash value of the last layer is calculated as the root hash of the Merkel tree.

[0155] In some embodiments, in step 9, the consensus node 710 sends the pre-confirmation voting message to the master node 700. This step corresponds to step S2050 described with reference to FIG. 2.

[0156] In some embodiments, all consensus nodes 710 send the voting message vote_msg containing the root hash to the master node 700, denoted as {tx_graph_hash, sig}, which corresponds to the following contents respectively:

[0157] 1) tx_graph_hash: the Merkle root hash of the transaction graph;

[0158] 2) sig: the voting message signature, containing the signature algorithm type, signature public key, and signature.

[0159] In some embodiments, in step 10, the master node 700 collects the voting messages from the consensus nodes 710. In some embodiments, if the number of agree votes exceeds 2 / 3 of the number of consensus nodes, it is considered that all consensus nodes 710 have reached a consensus on tx_graph_hash, and thus a distribution end transaction is constructed. The distribution end transaction may, for example, include an aggregate signature and the spectrum allocation result.

[0160] In some embodiments, in step , the master node 700 broadcasts the distribution end transaction to all nodes, including the consensus nodes 710 and the non-consensus nodes 720. After each node is verified, it is written into the ledger, and the spectrum allocation in this round is completed.

[0161] As an example, the master node can aggregate the signatures of all agree votes to obtain aggregate_sig, and generate the allocation result alloc_result for all application users, which may include {(uid_1, freq_1, area_1), (uid_2, freq_2, area_2), L, (uid_N, freq_N, area_N)}, which corresponds to the following contents respectively:

[0162] 1) uid_N: the ID of user N;

[0163] 2) freq_N: the use frequency band allocated to user N;

[0164] 3) area_N: the use area allocated to user N, and the area field of the failed application result is empty.

[0165] Then, a distribution end transaction tx alloc end including the information is constructed and added to the main chain, and the transaction content includes {current hash, previous hash, tx graph hash, aggregate sig, alloc result}, which respectively correspond to the following contents:

[0166] 1) current hash: current transaction hash;

[0167] 2) previous hash: hash of the previous transaction, which can be set as the hash of the distribution start transaction tx alloc start;

[0168] 3) tx graph hash: Merkle root hash of the spectrum transaction graph;

[0169] 4) aggregate sig: aggregate signature of all agreed votes, including signature algorithm type, all public keys of the signature, and the signature;

[0170] 5) alloc result: distribution result.

[0171] The following shows an example data structure of the distribution end transaction in the present disclosure. Parameters same as those of the data structure of the distribution start transaction or the spectrum application transaction are omitted here.

[0172] The distribution end transaction is broadcast to all network nodes, and other nodes verify whether the aggregate sig is correct after receiving it, and add it to the local ledger after passing. In this distribution period, all application nodes access the corresponding frequency band according to the distribution result on the chain, which also serves as evidence for judging whether illegal access occurs.

[0173] The present disclosure considers a distributed multi-user spectrum access scenario, and proposes a lightweight distributed spectrum allocation method based on a consensus mechanism in order to improve the resource utilization of distributed spectrum allocation and eliminate interference between users as much as possible. According to the distributed spectrum allocation method of the present disclosure, each distributed spectrum request user such as a UAV forms a blockchain (for example, a consortium chain) to realize conflict-free distributed spectrum resource allocation. In one allocation cycle, the user (consensus node) can first perform channel sensing, and initiate a spectrum application transaction to the master node according to the result; the master node collects these transactions and broadcasts to all consensus nodes; the consensus nodes construct a spectrum transaction graph, and for the applications with interference conflicts, adjust the channel and / or use area for conflict resolution, thereby constructing an interference-adjusted spectrum transaction graph. Finally, all consensus nodes vote on the allocation result, the master node collects the votes and constructs a confirmation transaction, and broadcasts to all network nodes, and the user accesses the corresponding frequency band according to the consensus allocation strategy reached.

[0174] The present scheme arranges spectrum requests without conflict based on a transaction graph, can quickly generate a spectrum allocation strategy, and then adjusts the spectrum use area of the transaction that causes spectrum interference conflict to realize spectrum conflict resolution and improve spectrum utilization. The present scheme has simple calculation rules, is easy for distributed nodes to verify, and is suitable for a large number of Internet of Things device nodes with limited resources. In addition, the consensus is in the form of a transaction, reduces interaction and communication overhead by collecting and distributing messages through the master node, and the consensus nodes can participate in the consensus at any time without the need to remain online, which is suitable for a wireless communication environment.

[0175] Next, a model schematic diagram of distributed spectrum allocation according to an embodiment of the present disclosure is described with reference to FIG. 12.

[0176] 1200 in FIG. 12 shows the message interaction between each node in each allocation cycle, wherein the master node 700 and the consensus node 710 perform message interaction corresponding to steps ② and ⑤ and ③ and ⑨ shown in FIG. 7, and the master node 700 and the non-consensus node 720 perform message interaction corresponding to step ② shown in FIG. 7.

[0177] In addition, as shown in FIG. 12, Round n represents the nth round of the allocation period. 1210 shows the case of storing transactions in a certain node in the nth to (n+3)th round of the allocation period. Specifically, in the nth and (n+3)th round of the allocation period, the node performs a spectrum application transaction, i.e., the node acts as a consensus node 710, then locally stores the allocation start transaction tx alloc start, all spectrum application transactions (i.e., all transactions between the allocation start transaction and the allocation end transaction), and the allocation end transaction tx alloc end. In addition, in the (n+1)th and (n+2)th round of the allocation period, the node does not perform a spectrum application transaction, i.e., the node acts as a non-consensus node, then only stores tx alloc start and tx alloc end. Thus, the non-consensus node only receives the spectrum allocation start transaction and the spectrum allocation end transaction, and stores the spectrum allocation result, without receiving and storing the spectrum application transaction information of the consensus node, thereby being able to save storage space. In addition, the non-consensus node cannot obtain the data of the period that does not participate in the spectrum application, thereby being able to protect data privacy.

[0178] Next, referring to FIG. 13, an example consensus flowchart of distributed spectrum allocation according to an embodiment of the present disclosure is described. In addition, FIG. 14 shows an example consensus flowchart of spectrum allocation as a comparative example.

[0179] As shown in FIG. 13, the consensus (message interaction) of the spectrum allocation of the present disclosure involves collecting transactions (corresponding to steps ③④ in FIG. 7), broadcasting transactions (corresponding to step ⑤ in FIG. 7), constructing a transaction graph (corresponding to steps ⑥⑦ in FIG. 7), pre-confirmation of results (corresponding to steps ⑧⑨ in FIG. 7), and final confirmation (corresponding to step ⑩ in FIG. 7 )).

[0180] Suppose the total number of nodes on the blockchain is N, the total number of consensus nodes is M (here it is assumed that the master node is also a consensus node), the number of spectrum application users per round is k, and N≥M. Then the consensus flow of the present application is shown in FIG. 13, and the total number of messages is: K*(M-1)+M-1+N-1=(K+1)*M+N-K-2 (4)

[0181] The first term K*(M-1) in the formula (4) corresponds to the broadcast transaction stage, the master node broadcasts K spectrum application transactions to other M-1 consensus nodes, and therefore the number of messages in this stage is K*(M-1). In the transaction graph construction stage, there is no message interaction between nodes. In addition, the second term M-1 in the formula (4) corresponds to the result pre-confirmation stage, and M-1 consensus nodes send voting messages to the master node, and therefore the number of messages in this stage is M-1. In addition, the third term N-1 in the formula (4) corresponds to the final confirmation stage, and the master node sends a confirmation transaction to all other N-1 nodes, and therefore the number of messages in this stage is N-1.

[0182] As a comparison example, FIG. 14 shows a PBFT (Practical Byzantine Fault Tolerance) consensus process, which specifically includes the following stages:

[0183] Collect transactions: the master node collects transactions from each consensus node;

[0184] Target optimization: the master node performs target optimization on the collected transactions;

[0185] Broadcast proposal: the master node broadcasts the collected transactions and target optimization results to all other nodes for proposal;

[0186] Pre-confirmation: the consensus node sends a voting message to the master node for pre-confirmation;

[0187] Final confirmation: the master node sends a confirmation message to all nodes.

[0188] The total number of messages of the PBFT consensus process shown in FIG. 14 is: (K+1)*(N-1)+M-1+N-1=(K+2)*N+M-K-3 (5)

[0189] The first term (K+1)*(N-1) in the formula (5) corresponds to the broadcast proposal stage, and the master node sends K application transactions and 1 target optimization result in the form of a block to all other N-1 nodes, and therefore the number of messages in this stage is (K+1)*(N-1). The second term in the formula (5) corresponds to the pre-confirmation stage, and M-1 consensus nodes send voting messages to the master node, and therefore the number of messages in this stage is M-1. The third term in the formula (5) corresponds to the final confirmation stage, and the master node sends a confirmation transaction to all other N-1 nodes, and therefore the number of messages in this stage is N-1.

[0190] By comparing FIGS. 13 and 14, and formulas (4) and (5), it can be seen that the consensus process of the present disclosure has the following advantages compared with the PBFT consensus process:

[0191] (1) Consensus efficiency and security improvement: In PBFT, the master node spends a lot of time on computing the optimization problem, and the consensus node cannot completely verify the result, while in the present disclosure, the consensus node can quickly compute the result locally;

[0192] (2) Message interaction reduction: In PBFT, the non-consensus node receives a proposal block containing all application transactions, while in the present disclosure, the non-consensus node only receives two transactions tx_alloc_start and tx_alloc_end.

[0193] FIG. 15 shows an exemplary configuration of a computing device 1500 capable of implementing embodiments according to the present application.

[0194] The computing device 1500 is an example of a hardware device capable of applying the above aspects of the present application. The computing device 1500 can be any machine configured to perform processing and / or computation. The computing device 1500 can be, but is not limited to, a workstation, a server, a desktop computer, a laptop computer, a tablet computer, a personal data assistant (PDA), a wireless terminal, a drone, a portable smart device, a vehicle-mounted terminal, an Internet of Things device, or a combination thereof.

[0195] As shown in FIG. 15, the computing device 1500 can include one or more elements that can be connected or communicate with a bus 1502 via one or more interfaces. The bus 1502 can include, but is not limited to, an Industry Standard Architecture (ISA) bus, a Micro Channel Architecture (MCA) bus, an Enhanced ISA (EISA) bus, a Video Electronics Standards Association (VESA) local bus, and a Peripheral Component Interconnect (PCI) bus, etc. The computing device 1500 can include, for example, one or more processors 1504, one or more input devices 1506, and one or more output devices 1508. The one or more processors 1504 can be any kind of processor, and can include, but is not limited to, one or more general-purpose processors or special-purpose processors (such as special-purpose processing chips). The processor 1502, for example, can correspond to the processor 1010 in FIG. 1, the processor 3010 in FIG. 3, the processor 5010 in FIG. 5, and be configured to implement the functions of the various units of the device for spectrum allocation of the present disclosure. The input device 1506 can be any type of input device capable of inputting information to the computing device, and can include, but is not limited to, a mouse, a keyboard, a touch screen, a microphone, and / or a remote controller. The output device 1508 can be any type of device capable of presenting information, and can include, but is not limited to, a display, a speaker, a video / audio output terminal, a vibrator, and / or a printer.

[0196] The computing device 1500 can also include, or be connected to, an non-transitory storage device 1514, which can be any non-transitory and can enable data storage and retrieval. The non-transitory storage device 1514 can include, but is not limited to, a disk drive, an optical storage device, a solid-state memory, a floppy disk, a flexible disk, a hard disk, a magnetic tape, or any other magnetic storage medium, an optical storage medium, a cache memory, and / or any other storage chip or module, and / or any other medium that can be used to store desired program code in an non-transitory fashion, which can be read and executed by a computer. The computing device 1500 can also include a random access memory (RAM) 1510 and a read-only memory (ROM) 1512. The ROM 1512 can store programs, utilities or processes to be executed in a non-volatile manner. The RAM 1510 can provide volatile data storage and stores instructions related to the operation of the computing device 1500. The computing device 1500 can also include a network / bus interface 1516 that can couple the computing device 1500 to a network 1520, allowing the device to communicate with other devices and systems. The network / bus interface 1516 can be of any type that can enable

[0197] It should be understood that a reference to an "embodiment" or "one embodiment" or similar phrases in this specification is a reference to a particular feature, structure, or characteristic being described in connection with one or more embodiments. Thus, the appearance of the phrases in various places in the specification are not necessarily all referring to the same embodiment. Furthermore, the particular

[0198] Those skilled in the art will appreciate that the disclosure can be practiced with various computer system configurations, including general-purpose computers, notebook computers, laptop computers, mobile computers, handheld computers, multimedia computing devices, microprocessor-based or programmable consumer electronics, network PCs, minicomputers, mainframe computers, and the like. Any device(s) can also be part of a system that interacts with one or more other devices or systems, potentially through a network, directly or indirectly. One skilled in the art will appreciate that a computing device can be embodied in any of a number of forms, such as a handheld device, a desktop computer, a laptop computer, a network appliance, a midrange computer, a mainframe computer, a server, a client, a mobile device, a wearable device, and the like. In this regard, all of the devices described herein are contemplated as possible device configurations for a computer system. Therefore, a computing device can be embodied in a number of forms, such as indicated in FIG. 1. For example, a computing device can be embodied in a handheld device 1000, a desktop computer 1002, a laptop computer 1004, a server 1006, or other computing device 1008. In a networked environment, various computing devices can be connected with one another. These devices can be

[0199] The descriptions of the related art disclosed herein are intended to aid in understanding the systems, devices, methods, and computer program products in accordance with embodiments of the present disclosure, and are not intended to be limiting of the present disclosure. Descriptions of well-known functions and constructions can be omitted for clarity and conciseness.

[0200] The computer program instructions can also be loaded onto a computer or other programmable data processing apparatus to cause a series of operational steps to be performed on the computer or other programmable apparatus to produce a computer implemented process such that the instructions which execute on the computer or other programmable apparatus provide processes for implementing the functions / acts specified in the flowchart and / or block diagram block or blocks.

[0201] The computer program instructions can also be loaded onto a computer or other programmable data processing apparatus to cause a series of operational steps to be performed on the computer or other programmable apparatus to produce a computer implemented process such that the instructions which execute on the computer or other programmable apparatus provide processes for implementing the functions / acts specified in the flowchart and / or block diagram block or blocks.

[0202] Note that the technology disclosed in this specification can have the following configurations.

[0203] (1) An electronic device participating in spectrum allocation based on a blockchain as a consensus node, the electronic device comprising:

[0204] processing circuitry configured to:

[0205] transmit a spectrum application transaction to a master node of the blockchain;

[0206] receive a spectrum transaction list from the master node, the spectrum transaction list including information about spectrum application transactions of a plurality of consensus nodes in the blockchain;

[0207] construct, according to the received spectrum transaction list, an initial spectrum transaction graph for the plurality of consensus nodes, the initial spectrum transaction graph comprising a spectrum range and a spectrum usage area to be allocated to each consensus node in the plurality of consensus nodes;

[0208] adjust at least one of the spectrum range and the spectrum usage area to be allocated according to a spectrum interference relationship in the initial spectrum transaction graph, to generate an interference-adjusted spectrum transaction graph; and

[0209] send a voting message to the master node, the voting message comprising information related to the interference-adjusted spectrum transaction graph.

[0210] (2) The electronic device of (1), wherein the processing circuitry is configured to construct the initial spectrum transaction graph by:

[0211] serially arrange, according to the received spectrum transaction list, spectrum application transactions without interference conflict on one branch, and parallelly arrange spectrum application transactions with interference conflict on multiple branches.

[0212] (3) The electronic device of (2), wherein,

[0213] determine, according to one or more of an estimated spectrum access revenue size, a timestamp, and a transaction priority of the spectrum application transactions, an arrangement order of the spectrum application transactions on the serially arranged branch.

[0214] (4) The electronic device of (2) or (3), wherein the processing circuitry is configured to generate the interference-adjusted spectrum transaction graph by:

[0215] select, according to at least one of a transaction number and a total estimated spectrum access revenue size of each branch in the multiple branches in the spectrum transaction graph, a master branch from the multiple branches;

[0216] add, for spectrum application transactions on other branches in the spectrum transaction graph other than the master branch, spectrum application transactions without interference conflict with the master branch to the master branch, and adjust at least one of a spectrum range and a spectrum usage area of spectrum application transactions with interference conflict with the master branch.

[0217] (5) The electronic device of (4), wherein,

[0218] adjust, according to a pre-set adjustment coefficient of the consensus nodes, a spectrum usage area of the spectrum application transactions of the consensus nodes.

[0219] (6) The electronic device of (1), wherein the processing circuitry is further configured to:

[0220] constructing a Merkel tree from the interference-adjusted spectrum trading graph and computing a root hash, the root hash being included in the voting message as information related to the interference-adjusted spectrum trading graph.

[0221] (7) An electronic device participating in a blockchain-based distributed spectrum allocation as a master node, the electronic device comprising:

[0222] processing circuitry configured to:

[0223] collect spectrum application transactions from a plurality of consensus nodes of the blockchain;

[0224] construct a spectrum transaction list from the collected spectrum application transactions of the plurality of consensus nodes, the spectrum transaction list comprising information related to spectrum application transactions of the plurality of consensus nodes in the blockchain;

[0225] broadcast a spectrum transaction list to the plurality of consensus nodes, the spectrum transaction list being used by each consensus node of the plurality of consensus nodes to construct an initial spectrum trading graph for the plurality of consensus nodes, the initial spectrum trading graph comprising a spectrum range and a spectrum usage area to be allocated to each consensus node of the plurality of consensus nodes, each consensus node of the plurality of consensus nodes adjusting at least one of the spectrum range and the spectrum usage area to be allocated according to a spectrum interference relationship in the initial spectrum trading graph to generate an interference-adjusted spectrum trading graph; and

[0226] collect voting messages from the plurality of consensus nodes for transaction confirmation of the spectrum trading graph, the voting messages comprising information related to the interference-adjusted spectrum trading graph.

[0227] (8) The electronic device of (7), the processing circuitry is further configured to:

[0228] construct a spectrum allocation start transaction and broadcast the spectrum allocation start transaction to nodes of the blockchain, the nodes comprising consensus nodes that make spectrum application transactions and non-consensus nodes that do not make spectrum application transactions.

[0229] (9) The electronic device of (8), the processing circuitry is further configured to:

[0230] construct a spectrum allocation end transaction, the spectrum allocation end transaction comprising a spectrum allocation result for the plurality of consensus nodes; and

[0231] broadcast the spectrum allocation end transaction to the consensus nodes and the non-consensus nodes.

[0232] (10) An electronic device participating in a blockchain-based distributed spectrum allocation as a non-consensus node, the electronic device comprising:

[0233] processing circuitry configured to:

[0234] receive a spectrum allocation start transaction broadcast from a primary node of the blockchain;

[0235] receive a spectrum allocation end transaction broadcast from the primary node, the spectrum allocation end message comprising spectrum allocation results for a plurality of consensus nodes of the blockchain; and

[0236] write the spectrum allocation results to a ledger of the blockchain,

[0237] wherein the consensus nodes are nodes that make spectrum application transactions, the non-consensus node is a node that does not make spectrum application transactions, and the spectrum allocation results are generated by the primary node by:

[0238] collecting spectrum application transactions from the plurality of consensus nodes;

[0239] constructing a spectrum transaction list from the collected spectrum application transactions of the plurality of consensus nodes, the spectrum transaction list comprising information related to spectrum application transactions of the plurality of consensus nodes in the blockchain;

[0240] broadcasting the spectrum transaction list to the plurality of consensus nodes, the spectrum transaction list used by each consensus node of the plurality of consensus nodes to construct an initial spectrum transaction graph for the plurality of consensus nodes, the initial spectrum transaction graph comprising a spectrum range and a spectrum usage area to be allocated to each consensus node of the plurality of consensus nodes, each consensus node of the plurality of consensus nodes adjusting at least one of the spectrum range and the spectrum usage area to be allocated according to a spectrum interference relationship in the initial spectrum transaction graph to generate an interference-adjusted spectrum transaction graph;

[0241] collecting voting messages from the plurality of consensus nodes for transaction confirmation of the spectrum transaction graph, the voting messages comprising information related to the interference-adjusted spectrum transaction graph; and

[0242] constructing a spectrum allocation end transaction, the spectrum allocation end transaction comprising spectrum allocation results for the plurality of consensus nodes determined according to the interference-adjusted spectrum transaction graph.

[0243] (11) A blockchain-based spectrum allocation method for an electronic device participating in the spectrum allocation as a consensus node, the method comprising:

[0244] sending a spectrum application transaction to a primary node of the blockchain;

[0245] receiving a spectrum transaction list from the master node, the spectrum transaction list comprising information about spectrum application transactions of a plurality of consensus nodes in the blockchain;

[0246] constructing an initial spectrum transaction graph for the plurality of consensus nodes according to the received spectrum transaction list, the initial spectrum transaction graph comprising spectrum ranges and spectrum usage areas to be allocated to each of the plurality of consensus nodes;

[0247] adjusting at least one of the spectrum ranges and the spectrum usage areas to be allocated according to spectrum interference relationships in the initial spectrum transaction graph to generate an interference-adjusted spectrum transaction graph; and

[0248] sending a voting message to the master node, the voting message comprising information about the interference-adjusted spectrum transaction graph.

[0249] (12) The method of (11), wherein the initial spectrum transaction graph is constructed by:

[0250] serially arranging spectrum application transactions without interference conflicts on one branch and arranging spectrum application transactions with interference conflicts in parallel on a plurality of branches according to the received spectrum transaction list.

[0251] (13) The method of (12), wherein,

[0252] determining an arrangement order of the spectrum application transactions on the branch arranged in series according to one or more of an estimated spectrum access revenue size, a timestamp, and a transaction priority of the spectrum application transactions.

[0253] (14) The method of (12) or (13), wherein the interference-adjusted spectrum transaction graph is generated by:

[0254] selecting a main branch from the plurality of branches according to at least one of a transaction number and a total estimated spectrum access revenue size of each of the plurality of branches in the spectrum transaction graph;

[0255] adding spectrum application transactions without interference conflicts with the main branch to the main branch and adjusting at least one of the spectrum ranges and the spectrum usage areas of spectrum application transactions with interference conflicts with the main branch for spectrum application transactions on branches other than the main branch in the spectrum transaction graph.

[0256] (15) The method of (14), wherein,

[0257] adjusting the spectrum usage areas of the spectrum application transactions of the consensus nodes according to a pre-set adjustment coefficient of the consensus nodes.

[0258] (16) The method of (11), further comprising:

[0259] constructing a Merkel tree from the interference-adjusted spectrum trading graph and calculating a root hash, and including the root hash as information related to the interference-adjusted spectrum trading graph in the voting message.

[0260] (17) A blockchain-based spectrum allocation method for an electronic device participating in the spectrum allocation as a primary node, the method comprising:

[0261] collecting spectrum application transactions from a plurality of consensus nodes of the blockchain;

[0262] constructing a spectrum transaction list including information related to the spectrum application transactions of the plurality of consensus nodes in the blockchain, according to the collected spectrum application transactions of the plurality of consensus nodes;

[0263] broadcasting the spectrum transaction list to the plurality of consensus nodes, the spectrum transaction list being used by each consensus node of the plurality of consensus nodes to construct an initial spectrum trading graph for the plurality of consensus nodes, the initial spectrum trading graph including a spectrum range and a spectrum usage area to be allocated to each consensus node of the plurality of consensus nodes, each consensus node of the plurality of consensus nodes adjusting at least one of the spectrum range and the spectrum usage area to be allocated according to a spectrum interference relationship in the initial spectrum trading graph to generate an interference-adjusted spectrum trading graph; and

[0264] collecting voting messages from the plurality of consensus nodes for transaction confirmation of the spectrum trading graph, the voting messages including information related to the interference-adjusted spectrum trading graph.

[0265] (18) The method of (17), further comprising:

[0266] constructing a spectrum allocation start transaction and broadcasting the spectrum allocation start transaction to nodes of the blockchain, the nodes including consensus nodes that make spectrum application transactions and non-consensus nodes that do not make spectrum application transactions.

[0267] (19) The method of (18), further comprising:

[0268] constructing a spectrum allocation end transaction, the spectrum allocation end transaction including a spectrum allocation result for the plurality of consensus nodes; and

[0269] broadcasting the spectrum allocation end transaction to the consensus nodes and the non-consensus nodes.

[0270] (20) A blockchain-based spectrum allocation method for an electronic device participating in the spectrum allocation as a non-consensus node, the method comprising:

[0271] receiving a spectrum allocation start transaction broadcast from a master node of the blockchain;

[0272] receiving a spectrum allocation end transaction broadcast from the master node, the spectrum allocation end message comprising spectrum allocation results for a plurality of consensus nodes of the blockchain; and

[0273] writing the spectrum allocation results into a ledger of the blockchain,

[0274] wherein the consensus nodes are nodes that make spectrum application transactions, the non-consensus node is a node that does not make spectrum application transactions, and the spectrum allocation results are generated by the master node by:

[0275] collecting spectrum application transactions from the plurality of consensus nodes;

[0276] constructing a spectrum transaction list from the collected spectrum application transactions of the plurality of consensus nodes, the spectrum transaction list comprising information related to spectrum application transactions of the plurality of consensus nodes in the blockchain;

[0277] broadcasting the spectrum transaction list to the plurality of consensus nodes, the spectrum transaction list being used by each consensus node of the plurality of consensus nodes to construct an initial spectrum transaction graph for the plurality of consensus nodes, the initial spectrum transaction graph comprising a spectrum range and a spectrum usage area to be allocated to each consensus node of the plurality of consensus nodes, each consensus node of the plurality of consensus nodes adjusting at least one of the spectrum range and the spectrum usage area to be allocated according to a spectrum interference relationship in the initial spectrum transaction graph to generate an interference-adjusted spectrum transaction graph;

[0278] collecting voting messages from the plurality of consensus nodes for transaction confirmation of the spectrum transaction graph, the voting messages comprising information related to the interference-adjusted spectrum transaction graph; and

[0279] constructing a spectrum allocation end transaction, the spectrum allocation end transaction comprising spectrum allocation results for the plurality of consensus nodes determined according to the interference-adjusted spectrum transaction graph.

[0280] (21) A computer-readable storage medium comprising executable instructions that, when executed by an information processing apparatus, cause the information processing apparatus to perform the spectrum allocation method according to any one of (11) to (20).

[0281] (22) A computer program product comprising a computer program which, when executed by a processor, causes the processor to carry out the spectrum allocation method according to any one of (11) to (20).

Claims

1. An electronic device participating in blockchain-based spectrum allocation as a consensus node, the electronic device comprising: processing circuitry configured to: send a spectrum application transaction to a master node of the blockchain; receive a spectrum transaction list from the master node, the spectrum transaction list comprising information about spectrum application transactions of a plurality of consensus nodes in the blockchain; construct an initial spectrum transaction graph for the plurality of consensus nodes according to the received spectrum transaction list, the initial spectrum transaction graph comprising spectrum ranges and spectrum usage areas to be allocated to respective consensus nodes among the plurality of consensus nodes; adjust at least one of the spectrum ranges and the spectrum usage areas to be allocated according to spectrum interference relationships in the initial spectrum transaction graph to generate an interference-adjusted spectrum transaction graph; and send a voting message to the master node, the voting message comprising information about the interference-adjusted spectrum transaction graph.

2. The electronic device of claim 1, wherein, the processing circuitry is configured to construct the initial spectrum transaction graph by: serially arranging spectrum application transactions without interference conflicts on one branch and arranging spectrum application transactions with interference conflicts in parallel on a plurality of branches according to the received spectrum transaction list. 3.The electronic device of claim 2, wherein a sequence of the spectrum application transactions on the branch arranged in series is determined according to one or more of an estimated spectrum access revenue size, a timestamp, and a transaction priority of the spectrum application transactions.

4. The electronic device of claim 2 or 3, wherein, the processing circuitry is configured to generate the interference-adjusted spectrum transaction graph by: selecting a main branch from the plurality of branches according to at least one of a number of transactions and a total estimated spectrum access revenue size of respective branches in the spectrum transaction graph; adding spectrum application transactions without interference conflicts with the main branch to the main branch and adjusting at least one of spectrum ranges and spectrum usage areas of spectrum application transactions with interference conflicts with the main branch for spectrum application transactions on branches other than the main branch in the spectrum transaction graph. 5.The electronic device of claim 4, wherein a spectrum usage area of a spectrum application transaction of a consensus node is adjusted according to a spectrum usage area adjustment coefficient of the consensus node preset in advance. 6.The electronic device of claim 1, the processing circuitry is further configured to: construct a Merkel tree according to the interference-adjusted spectrum transaction graph and calculate a root hash, the root hash being included in the voting message as the information about the interference-adjusted spectrum transaction graph. 7.An electronic device participating in blockchain-based distributed spectrum allocation as a master node, the electronic device comprising: processing circuitry configured to: collect spectrum application transactions from a plurality of consensus nodes of the blockchain; construct a spectrum transaction list according to the collected spectrum application transactions of the plurality of consensus nodes, the spectrum transaction list comprising information about spectrum application transactions of the plurality of consensus nodes in the blockchain; broadcasting a spectrum transaction list to the plurality of consensus nodes, the spectrum transaction list being used by each consensus node of the plurality of consensus nodes to construct an initial spectrum transaction graph for the plurality of consensus nodes, the initial spectrum transaction graph including a spectrum range and a spectrum usage area to be allocated to each consensus node of the plurality of consensus nodes, each consensus node of the plurality of consensus nodes adjusting at least one of the spectrum range and the spectrum usage area to be allocated according to a spectrum interference relationship in the initial spectrum transaction graph to generate an interference-adjusted spectrum transaction graph; and collecting voting messages from the plurality of consensus nodes for transaction confirmation of the spectrum transaction graph, the voting messages including information related to the interference-adjusted spectrum transaction graph.

8. The electronic device of claim 7, the processing circuitry further configured to: construct a spectrum allocation start transaction and broadcast the spectrum allocation start transaction to nodes of the blockchain, the nodes including consensus nodes that make spectrum application transactions and non-consensus nodes that do not make spectrum application transactions.

9. The electronic device of claim 8, the processing circuitry further configured to: construct a spectrum allocation end transaction, the spectrum allocation end transaction including spectrum allocation results for the plurality of consensus nodes; and broadcast the spectrum allocation end transaction to the consensus nodes and the non-consensus nodes.

10. An electronic device participating in a blockchain-based distributed spectrum allocation as a non-consensus node, the electronic device comprising: processing circuitry configured to: receive a spectrum allocation start transaction broadcast from a primary node of the blockchain; receive a spectrum allocation end transaction broadcast from the primary node, the spectrum allocation end message including spectrum allocation results for a plurality of consensus nodes of the blockchain; and write the spectrum allocation results to a ledger of the blockchain, wherein the consensus nodes are nodes that make spectrum application transactions and the non-consensus nodes are nodes that do not make spectrum application transactions, the spectrum allocation results being generated by the primary node by: collecting spectrum application transactions from the plurality of consensus nodes; constructing a spectrum transaction list from the collected spectrum application transactions of the plurality of consensus nodes, the spectrum transaction list including information related to spectrum application transactions of the plurality of consensus nodes in the blockchain; broadcasting a spectrum transaction list to the plurality of consensus nodes, the spectrum transaction list being used by each consensus node of the plurality of consensus nodes to construct an initial spectrum transaction graph for the plurality of consensus nodes, the initial spectrum transaction graph including a spectrum range and a spectrum usage area to be allocated to each consensus node of the plurality of consensus nodes, each consensus node of the plurality of consensus nodes adjusting at least one of the spectrum range and the spectrum usage area to be allocated according to a spectrum interference relationship in the initial spectrum transaction graph to generate an interference-adjusted spectrum transaction graph; collecting voting messages from the plurality of consensus nodes for transaction confirmation of the spectrum transaction graph, the voting messages including information related to the interference-adjusted spectrum transaction graph. constructing a spectrum allocation end transaction, the spectrum allocation end transaction comprising a spectrum allocation result for the plurality of consensus nodes determined according to the interference-adjusted spectrum transaction graph. 11.A blockchain-based spectrum allocation method for an electronic device participating in the spectrum allocation as a consensus node, the method comprising: sending a spectrum application transaction to a master node of the blockchain; receiving a spectrum transaction list from the master node, the spectrum transaction list comprising information about spectrum application transactions of a plurality of consensus nodes in the blockchain; constructing an initial spectrum transaction graph for the plurality of consensus nodes according to the received spectrum transaction list, the initial spectrum transaction graph comprising spectrum ranges and spectrum usage areas to be allocated to each of the plurality of consensus nodes; adjusting at least one of the spectrum ranges and the spectrum usage areas to be allocated according to spectrum interference relationships in the initial spectrum transaction graph to generate an interference-adjusted spectrum transaction graph; and sending a voting message to the master node, the voting message comprising information about the interference-adjusted spectrum transaction graph.

12. The method of claim 11, wherein, The initial spectrum transaction graph is constructed by: serially arranging spectrum application transactions without interference conflicts on one branch and arranging spectrum application transactions with interference conflicts in parallel on a plurality of branches according to the received spectrum transaction list. 13.The method of claim 12, wherein, a sequence of the spectrum application transactions on the serially arranged branch is determined according to one or more of an estimated spectrum access revenue size, a timestamp, and a transaction priority of the spectrum application transactions.

14. The method of claim 12 or 13, wherein, The interference-adjusted spectrum transaction graph is generated by: selecting a main branch from the plurality of branches of the spectrum transaction graph according to at least one of a number of transactions and a total estimated spectrum access revenue size of each of the plurality of branches; adding spectrum application transactions without interference conflicts with the main branch to the main branch and adjusting at least one of spectrum ranges and spectrum usage areas of spectrum application transactions with interference conflicts with the main branch for spectrum application transactions on branches other than the main branch of the spectrum transaction graph. 15.The method of claim 14, wherein, a spectrum usage area of the spectrum application transaction of the consensus node is adjusted according to a pre-set adjustment coefficient of the consensus node. 16.The method of claim 11, further comprising: constructing a Merkel tree according to the interference-adjusted spectrum transaction graph and calculating a root hash, the root hash being included in the voting message as the information about the interference-adjusted spectrum transaction graph. 17.A blockchain-based spectrum allocation method for an electronic device participating in the spectrum allocation as a master node, the method comprising: collecting spectrum application transactions from a plurality of consensus nodes of the blockchain; constructing a spectrum transaction list comprising information about spectrum application transactions of the plurality of consensus nodes in the blockchain according to the collected spectrum application transactions of the plurality of consensus nodes; and broadcasting a spectrum transaction list to the plurality of consensus nodes, the spectrum transaction list being used by each consensus node of the plurality of consensus nodes to construct an initial spectrum transaction graph for the plurality of consensus nodes, the initial spectrum transaction graph including a spectrum range and a spectrum usage area to be allocated to each consensus node of the plurality of consensus nodes, each consensus node of the plurality of consensus nodes adjusting at least one of the spectrum range and the spectrum usage area to be allocated according to a spectrum interference relationship in the initial spectrum transaction graph to generate an interference-adjusted spectrum transaction graph; and collecting voting messages from the plurality of consensus nodes for transaction confirmation of the spectrum transaction graph, the voting messages including information related to the interference-adjusted spectrum transaction graph.

18. The method of claim 17, further comprising: constructing a spectrum allocation start transaction and broadcasting the spectrum allocation start transaction to nodes of the blockchain, the nodes including consensus nodes that make spectrum application transactions and non-consensus nodes that do not make spectrum application transactions.

19. The method of claim 18, further comprising: constructing a spectrum allocation end transaction, the spectrum allocation end transaction including spectrum allocation results for the plurality of consensus nodes; and broadcasting the spectrum allocation end transaction to the consensus nodes and the non-consensus nodes.

20. A blockchain-based spectrum allocation method for an electronic device participating in the spectrum allocation as a non-consensus node, the method comprising: receiving a spectrum allocation start transaction broadcast from a primary node of the blockchain; receiving a spectrum allocation end transaction broadcast from the primary node, the spectrum allocation end message including spectrum allocation results for a plurality of consensus nodes of the blockchain; and writing the spectrum allocation results to a ledger of the blockchain, wherein the consensus nodes are nodes that make spectrum application transactions and the non-consensus nodes are nodes that do not make spectrum application transactions, the spectrum allocation results being generated by the primary node by: collecting spectrum application transactions from the plurality of consensus nodes; constructing a spectrum transaction list from the collected spectrum application transactions of the plurality of consensus nodes, the spectrum transaction list including information related to spectrum application transactions of the plurality of consensus nodes in the blockchain; broadcasting the spectrum transaction list to the plurality of consensus nodes, the spectrum transaction list being used by each consensus node of the plurality of consensus nodes to construct an initial spectrum transaction graph for the plurality of consensus nodes, the initial spectrum transaction graph including a spectrum range and a spectrum usage area to be allocated to each consensus node of the plurality of consensus nodes, each consensus node of the plurality of consensus nodes adjusting at least one of the spectrum range and the spectrum usage area to be allocated according to a spectrum interference relationship in the initial spectrum transaction graph to generate an interference-adjusted spectrum transaction graph; collecting voting messages from the plurality of consensus nodes for transaction confirmation of the spectrum transaction graph, the voting messages including information related to the interference-adjusted spectrum transaction graph. ​ A spectrum allocation end transaction is constructed, the spectrum allocation end transaction including a spectrum allocation result for the plurality of consensus nodes determined according to the spectrum transaction graph adjusted according to the interference.

21. A computer-readable storage medium comprising executable instructions that, when executed by an information processing apparatus, cause the information processing apparatus to perform the spectrum allocation method according to any one of claims 11 to 20.

22. A computer program product comprising a computer program which, when executed by a processor, causes the processor to perform the spectrum allocation method according to any one of claims 11 to 20.

Citation Information

Patent Citations

  • Electronic device and method for frequency spectrum sharing system and storage medium

    CN116801261A

  • Spectrum management electronic device and decision-making electronic device and method for wireless communication

    CN118556414A

  • Method and apparatus for enabling spectrum allocation using smart contracts

    US20210243612A1

  • Spectrum lease exchange and management systems and methods

    US20240032084A1