Server system, firmware processing method and apparatus, device, medium, and product

By configuring dual IP addresses and CPLD in the server system to implement a blockchain network, the problems of single point of failure and data tampering in traditional centralized server networks are solved. This achieves decentralized, immutable, and highly trusted information transmission, ensuring the security and traceability of firmware upgrades and log recording.

WO2026045233A1PCT designated stage Publication Date: 2026-03-05INSPUR SUZHOU INTELLIGENT TECH CO LTD
View PDF 6 Cites 0 Cited by

Patent Information

Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Filing Date
2025-03-19
Publication Date
2026-03-05

AI Technical Summary

Technical Problem

Traditional centralized server networks suffer from single points of failure, lack of transparency, and the risk of data tampering, especially in terms of the security and traceability of firmware version updates and operation logs.

Method used

By employing blockchain technology in the server system, dual IP addresses are configured on the server nodes, and a blockchain network is implemented using CPLD. This separates critical information from business information, forming a decentralized blockchain network. The parallel processing capabilities and encryption functions of CPLD ensure information security and transparency.

Benefits of technology

It achieves decentralized, tamper-proof, transparent, and highly trusted information transmission, prevents single points of failure, ensures the security and traceability of firmware upgrades and log recording, and reduces the risk of centralized networks.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN2025083555_05032026_PF_FP_ABST
    Figure CN2025083555_05032026_PF_FP_ABST
Patent Text Reader

Abstract

Embodiments of the present application provide a server system, a firmware processing method and apparatus, a device, a non-volatile readable storage medium, and a product. The server system comprises a plurality of server nodes. The server nodes each comprise a server network port, a baseboard management controller node and a controller node. The server network ports are bound to a first Internet protocol address and a second Internet protocol address. The first Internet protocol address is used for being allocated to the baseboard management controller nodes, the second Internet protocol address is used for being allocated to the controller nodes, the plurality of baseboard management controller nodes constitute a server service network, the plurality of controller nodes constitute a blockchain network, and the controller nodes are used for transmitting target information in the blockchain network. In the present application, the architectural design of a blockchain for target information of a server is realized without changing the main network of the server, the target information being key information in the blockchain network, and information security protection and isolation are realized by separating the key information from service information.
Need to check novelty before this filing date? Find Prior Art

Description

Server systems, firmware processing methods, devices, equipment, media, and products

[0001] Cross-reference to related applications

[0002] This application claims priority to Chinese Patent Application No. 202411195095.7, filed on August 28, 2024, entitled "Server System, Firmware Processing Method, Apparatus, Device, Medium and Product", the entire contents of which are incorporated herein by reference. Technical Field

[0003] This application relates to the field of server technology, and in particular to a server system, firmware processing method, apparatus, device, non-volatile readable storage medium and product. Background Technology

[0004] Server messaging is crucial for maintaining the security and integrity of data transmission within a network. It ensures the reliable and secure delivery of messages between servers, services, and clients. Especially for server firmware updates and operational logs, failure to guarantee security and traceability poses significant risks to the entire server network. Currently, centralized network transmission of critical information between servers carries risks such as single points of failure, lack of transparency, and data tampering.

[0005] Blockchain technology, as a decentralized, secure, and reliable distributed ledger technology, has attracted much attention in recent years and has sparked revolutionary changes in many fields. Compared to traditional centralized database systems, each node in a blockchain contains a complete copy of the ledger, and any modification to the ledger requires consensus from a majority of nodes in the network, ensuring data security and immutability.

[0006] Currently, traditional enterprise environments typically use centralized server networks, where a central server manages network traffic, data storage, and application services, and handles all data transactions. Clients request services from the central server and communicate with each other. This centralized network-based data processing presents a single point of failure problem, meaning that the centralized system is controlled by a single point. If this point becomes the target of an attack and is compromised, the security of the entire system will be at risk. Summary of the Invention

[0007] The purpose of this application is to provide a server system, firmware processing method, apparatus, device, non-volatile readable storage medium, and product. The specific technical solutions are as follows:

[0008] In a first aspect of this application, a server system is provided, comprising: a plurality of server nodes, each server node including a server network port, a baseboard management controller node, and a controller node;

[0009] The server's network port is bound to a primary Internet Protocol (IP) address and a secondary Internet Protocol (IP) address.

[0010] The first Internet Protocol address is used to allocate to the baseboard management controller node, the second Internet Protocol address is used to allocate to the controller node, several baseboard management controller nodes constitute the server business network, several controller nodes constitute the blockchain network, and the controller nodes are used to transmit target information in the blockchain network.

[0011] In some embodiments, several baseboard management controller nodes are connected through a central node to form a star topology.

[0012] In some embodiments, several controller nodes are interconnected in a distributed manner.

[0013] In some embodiments, the blockchain network includes a creation node, an accounting node, and a verification node, wherein the creation node, accounting node, and verification node each correspond to a controller node in the blockchain network.

[0014] In some embodiments, a controller node is created for uploading target information.

[0015] In some embodiments, the accounting node is used as a controller node to record target information.

[0016] In some embodiments, the verification node is used to verify the legality of the target information.

[0017] In some embodiments, blocks in a blockchain network are linked by hash values.

[0018] In some embodiments, the block includes a header and a body;

[0019] The header includes the hash value of the current block, the hash value of the previous block corresponding to the current block in the connection order, and timestamp information, where the timestamp information is used to record the creation time of the current block;

[0020] The main body includes target information.

[0021] In some embodiments, the controller node is used for firmware processing and logging.

[0022] In some embodiments, the server network port is configured as a single network port, and the server system connects to the external network through this single network port.

[0023] In some embodiments, the first Internet Protocol address is a dynamic IP address and the second Internet Protocol address is a static IP address. The baseboard management controller node transmits services through the dynamic IP address.

[0024] In a second aspect of this application, a firmware processing method is also provided, applied to the server system of the first aspect, the method comprising:

[0025] Identify the first edge computing node within the blockchain network of the server system and use it as the creation node;

[0026] By creating nodes, firmware processing information is sent to the blockchain network, where the firmware processing information is determined based on the requirements of the target server manufacturer.

[0027] By creating a node, the firmware processing information is encrypted and packaged with a private key to obtain the target firmware processing information, and then the target firmware processing information is sent to the blockchain network to create the target block in the blockchain network.

[0028] The target block is broadcast to the verification nodes through a peer-to-peer topology so that the target block can be verified by the verification nodes. The verification nodes are the second edge computing nodes in the blockchain network.

[0029] If the verification is successful, the target block will be added to the blockchain network.

[0030] The target firmware processing information is captured from the target block by a third edge computing node in the blockchain network, and the firmware processing information is parsed.

[0031] The target firmware is processed based on the parsed firmware processing information.

[0032] In some embodiments, prior to the step of broadcasting to the verification node via point-to-point topology, the method includes:

[0033] The verification node confirms whether the target encrypted information is valid.

[0034] If the target encrypted information is in a valid state, then the target encrypted information is placed in the memory pool corresponding to the verification node;

[0035] The node verifies the block creation information in the memory pool and compiles and generates the target block based on the block creation information.

[0036] In some embodiments, after the step of processing the target firmware based on the parsed firmware processing information, the method includes:

[0037] Log information corresponding to the controller node where the controller is located is uploaded at preset time intervals.

[0038] In some embodiments, after the step of processing the target firmware based on the parsed firmware processing information, the method includes:

[0039] When the controller detects that the server system is in an abnormal power outage state, it uploads the log information corresponding to the controller node where the controller is located.

[0040] In a third aspect of this application, a firmware processing apparatus is also provided, applied to the server system of the first aspect, the apparatus comprising:

[0041] The determination module is used to determine the first edge computing node within the blockchain network of the server system, and to use the first edge computing node as the creation node;

[0042] The sending module is used to send firmware processing information to the blockchain network by creating a node. The firmware processing information is determined based on the requirements of the target server manufacturer.

[0043] The creation module is used to encrypt and package the firmware processing information with a private key by creating a node, obtain the target firmware processing information, and send the target firmware processing information to the blockchain network to create the target block in the blockchain network.

[0044] The verification module is used to broadcast the target block to the verification nodes through a peer-to-peer topology, so that the target block can be verified by the verification nodes. The verification nodes are the second edge computing nodes in the blockchain network.

[0045] Add a module to add the target block to the blockchain network if the verification is successful;

[0046] The capture module is used to capture target firmware processing information from the target block through a third edge computing node in the blockchain network and parse the firmware processing information.

[0047] The processing module is used to process the target firmware based on the parsed firmware processing information.

[0048] In a fourth aspect of this application, a communication device is also provided, comprising: a transceiver, a memory, a processor, and a program stored in the memory and executable on the processor;

[0049] A processor for reading programs from memory to implement a memory resource backup power method for an integrated machine, as described in any of the first aspects.

[0050] In a fifth aspect of this application, a computer non-volatile readable storage medium is also provided, wherein instructions are stored in the computer, which, when executed on a computer, cause the computer to implement the memory resource integrated power backup method as described in any of the first aspects.

[0051] In a sixth aspect of this application, a computer program product is also provided, including a computer program / instruction that, when executed by a processor, implements a memory resource all-in-one power backup method as described in any of the first aspects.

[0052] The server system provided in this application includes: several server nodes, each including a server network port, a baseboard management controller node, and a controller node; the server network port is bound to a first Internet Protocol address and a second Internet Protocol address; wherein, the first Internet Protocol address is used to allocate to the baseboard management controller node, and the second Internet Protocol address is used to allocate to the controller node; the several baseboard management controller nodes constitute a server business network, and the several controller nodes constitute a blockchain network; the controller nodes are used to transmit target information in the blockchain network. In this application embodiment, the blockchain network is implemented using a CPLD in the server. Based on the current single network port of the server, dual IPs are configured and connected to the BMC and CPLD on the motherboard. The BMC implements the main communication function, and the business remains unchanged, while the CPLD forms the blockchain network. That is, this application can achieve the architecture design of the server target information blockchain without changing the main network of the server. The target information is essentially the key information in the blockchain network. By separating the key information and business information into two networks, information security protection and isolation can be well achieved. In addition, through the parallel processing of the CPLD, data from a large number of sensors can be processed in real time, and the power consumption is relatively low, making it suitable for building blockchain technology. Attached Figure Description

[0053] To more clearly illustrate the technical solutions in the embodiments of this application or the prior art, the accompanying drawings used in the description of the embodiments or the prior art will be briefly introduced below.

[0054] Figure 1 is a schematic diagram of the architecture of a server system provided in an embodiment of this application;

[0055] Figure 2 is a schematic diagram of an exemplary blockchain network block provided in an embodiment of this application;

[0056] Figure 3 is a flowchart of a firmware processing method provided in an embodiment of this application;

[0057] Figure 4 is a flowchart of another firmware processing method provided in an embodiment of this application;

[0058] Figure 5 is a schematic diagram of an exemplary server system provided in an embodiment of this application;

[0059] Figure 6 is a device block diagram of a firmware processing apparatus provided in an embodiment of this application;

[0060] Figure 7 is a schematic diagram of a communication device provided in an embodiment of this application. Detailed Implementation

[0061] To make the objectives, technical solutions, and advantages of the embodiments of this application clearer, the various embodiments of this application will be described in detail below with reference to the accompanying drawings. However, those skilled in the art will understand that many technical details have been presented in the various embodiments of this application to enable readers to better understand this application. However, even without these technical details and various changes and modifications based on the following embodiments, the technical solutions claimed in this application can be implemented. The division of the various embodiments below is for the convenience of description and should not constitute any limitation on the specific implementation of this application. The various embodiments can be combined with and referenced by each other without contradiction.

[0062] Referring to Figure 1, a schematic diagram of the architecture of a server system provided in an embodiment of this application is shown. The server system includes: a plurality of server nodes, each server node including a server network port, a baseboard management controller node, and a controller node.

[0063] The server's network port is bound to a primary Internet Protocol (IP) address and a secondary Internet Protocol (IP) address.

[0064] The first Internet Protocol address is used to allocate to the baseboard management controller node, the second Internet Protocol address is used to allocate to the controller node, several baseboard management controller nodes constitute the server business network, several controller nodes constitute the blockchain network, and the controller nodes are used to transmit target information in the blockchain network.

[0065] It should be noted that, in this embodiment of the application, the Internet Protocol address is the same as the IP (Internet Protocol) address.

[0066] It should be noted that, in the embodiments of this application, the CPLD (Complex Programmable Logic Device) within the server can be responsible for important tasks such as upgrading firmware (FW) such as BMC (Baseboard Management Controller) / BIOS (Basic Input Output System), controlling and recording the server's power status, etc. In addition, the CPLD can implement protocols requiring high computing power (such as PoW), encryption functions such as encryption, hashing and digital signatures, as well as network functions, and can process multiple sets of data in parallel, with low power consumption and low cost. Therefore, the controller node in the embodiments of this application can be a CPLD node.

[0067] This application allocates dual IPs to a single network port of the server, assigning the two IPs to the BMC and CPLD respectively. The BMC network is used for normal server operations and can be used for large-scale information transmission without altering the original business logic. The CPLD, on the other hand, uses a separate IP (which can be pre-configured as a static IP) to form a blockchain network, acting as a controller or gateway for transmitting critical information such as firmware information and system logs.

[0068] Furthermore, several baseboard management controller nodes are connected through a central node to form a star topology.

[0069] Furthermore, several controller nodes are interconnected in a distributed manner.

[0070] Furthermore, the blockchain network includes creation nodes, ledger nodes, and verification nodes, where creation nodes, ledger nodes, and verification nodes correspond to controller nodes in the blockchain network.

[0071] Furthermore, a controller node is created to upload target information.

[0072] Furthermore, the accounting node is used to record the target information of the controller node.

[0073] Furthermore, the verification node is used to verify the legality of the target information.

[0074] It should be noted that in this embodiment of the application, the use of CPLD to transmit key information in the blockchain involves three roles in a single transmission: creation node, accounting node, and verification node. The creation node, accounting node, and verification node correspond to the controller node in the blockchain network, respectively.

[0075] Specifically, the creation node is the one that initiates the accounting process, i.e., the server node that uploads key information; the verification node is all the nodes other than the uploading node, responsible for verifying the legality of the key information; and the accounting node is the node that ultimately records the key information, i.e., the node that is qualified to register the bills it records on the ledger.

[0076] Furthermore, blocks in the blockchain network are linked by hash values.

[0077] Furthermore, the block includes a header and a body;

[0078] The header includes the hash value of the current block, the hash value of the previous block corresponding to the current block in the connection order, and timestamp information, where the timestamp information is used to record the creation time of the current block;

[0079] The main body includes target information.

[0080] It should be noted that, in this embodiment of the application, the blockchain consists of a blockchain referred to as a ledger, as shown in Figure 2. Blocks are linked by hash values. Each block contains the hash value of the previous block. In this way, the blocks are linked together in the form of a list. A block is divided into two parts: a header and a body. In addition to the hash value of the previous block, the header also contains a timestamp, showing the publication time and hash value of the block.

[0081] It should be noted that in the embodiments of this application, the Merkle root in Figure 2 refers to the root node of the Merkle tree. A Merkle tree is a special binary tree data structure used to effectively verify the integrity of large amounts of data. In a Merkle tree, each non-leaf node is the hash value of its child node data, while leaf nodes contain the hash values ​​of data blocks.

[0082] In this way, the integrity of the entire dataset can be confirmed by verifying the hash value of the root node. If any data block changes, the hash value of the root node will also change accordingly, thus detecting data tampering. In blockchain technology, Merkle trees are widely used for transaction data verification. Each block contains a Merkle tree, where the leaf nodes are the hash values ​​of all transactions in the block. The block header contains the hash value of the Merkle root node, which is a summary of the entire block's transaction data. By verifying the Merkle root, nodes can quickly confirm whether all transactions in the block have been tampered with, without having to verify each transaction individually.

[0083] Furthermore, the controller node is used for firmware processing, as well as logging.

[0084] Furthermore, the server network port is configured as a single port, and the server system connects to the external network through this single port.

[0085] Furthermore, the first Internet Protocol address is a dynamic IP address, and the second Internet Protocol address is a static IP address. The baseboard management controller node transmits services through the dynamic IP address.

[0086] It should be noted that, in this embodiment, a single server node is configured with dual IPs, connected to the Baseboard Management Controller (BMC) and Complex Programmable Logic Device (CPLD) on the motherboard. The BMC will use the dynamic IP for service transmission and other key elements, while the CPLD will use the static IP for firmware upgrades, logging, and blockchain-based functions.

[0087] Specifically, use VLAN (Virtual Local Area Network) tagging to assign two IPs to a single network port: VLAN ID 1 (dynamic IP) for the BMC and VLAN ID 2 (static IP) for the CPLD. Configure DHCP on VLAN ID 1 to assign the dynamic IP to the BMC. Manually or via script, assign a static IP to VLAN ID 2 for the CPLD.

[0088] In this embodiment of the application, integrating blockchain technology into the server network can bring the following benefits:

[0089] First, it's decentralized. Traditional centralized systems control data and transactions through a single entity, while blockchain is different. It runs on a decentralized network of computers (nodes). Each node has a copy of the entire blockchain, ensuring that no single entity has complete control. Furthermore, there's no need to worry about a problem with a central node affecting the entire server network.

[0090] Second, immutability, meaning all blockchain transactions are stored in an immutable ledger. This means it cannot be modified or easily deleted. To alter even one of them, an attacker would need to control a majority of nodes in the network. This effectively protects the integrity of critical information within the network.

[0091] Third, resilience, meaning each node has a copy of the ledger, so information transactions are owned by all nodes. This makes them less susceptible to corruption and auditable at any time. These characteristics also ensure transparency and audibility, increasing trust between server nodes.

[0092] Fourth, encryption support: blockchain technology implements strong encryption functions to ensure confidentiality, integrity, and authentication. Each user holds a pair of public keys generated during registration. Transaction integrity and authenticity are guaranteed by signing transactions. Furthermore, transactions are divided into multiple blocks, each containing the cryptographic hash of the previous block. This makes it extremely difficult, and computationally infeasible, to alter past transactions without changing all subsequent blocks.

[0093] Referring to Figure 3, a flowchart of the steps of a firmware processing method provided in an embodiment of this application is shown. The method may include:

[0094] First, referring to Figure 4, CPLD is used to transmit key information in the blockchain. In a single transmission, there are three roles: creating nodes, recording nodes, and verifying nodes. The creating node initiates the recording process, i.e., the server node that uploads the key information; the verifying node is all nodes except the uploading node, responsible for verifying the legality of the key information; the recording node is the node that ultimately records the key information, i.e., the node qualified to register its recorded transactions on the ledger.

[0095] Assuming CPLD node A needs to upload firmware information to the blockchain network and propagate it to all nodes in the network, the transmission steps are as follows:

[0096] S1. Create node A to start a new information upload instance, upload key information content and encrypt it as needed, sign and package it with node A's private key, send it to the blockchain network, and broadcast it to every verification node in the network using a peer-to-peer topology. The private key signature will serve as proof that server A authorized the information.

[0097] S2. The check node first listens to where the latest block record is to ensure that its own record is up-to-date. When it receives the latest transaction, it first verifies its validity (verifies whether the information was generated by node A, whether node A has the permission to upload, and whether the random number is repeated to prevent duplicate recording), and then propagates it further to ensure redundant transmission.

[0098] S3. The verification node decrypts node A's signature using the server's public key and compares it with the hash value of the transaction data to independently verify the transaction. After a time period (e.g., ten minutes), the verification node transmits the information generated in this period to form a block. This block first contains information from the previous block, proving that it was indeed written after the previous block, and then includes all the transactions recorded by the node in this period. This block is then distributed to the network for consensus verification.

[0099] S4. After verification, the block is added to the blockchain transaction pool, a temporary storage area for transactions awaiting inclusion in the block. Verification nodes select transactions from the mempool, prioritizing those containing critical information (such as firmware upgrade information or crash information). Verification nodes must then verify these transactions according to the consensus strategy (solving challenges). The verification process is shown in Figure 4.

[0100] S5. After the verifying node solves the cryptographic challenge according to the consensus mechanism, it broadcasts the solution and its signature along with the new block to other nodes. Other nodes verify the solution to the new block based on the signature and check if all included transactions are still valid and if they are included in another block. Upon successful verification, each node adds the new block to its own copy of the blockchain ledger.

[0101] S6. Once a transaction is stored in the ledger, it cannot be changed. To change a transaction, the ledger must be modified. As subsequent blocks are added to the top of the contained blocks (confirmation), changing a transaction becomes increasingly difficult, thus ensuring immutability. Furthermore, a standard number of confirmations (e.g., waiting for 51% of the nodes to confirm a transaction before it is considered fully confirmed and irreversible) are required before storing the transaction in the ledger.

[0102] Through the above steps, a decentralized system running on a CPLD-based server network has been implemented. This blockchain network makes all information transmissions visible to participants, thereby increasing transparency, enhancing trust, and eliminating the need for a central server. Security is achieved through advanced encryption technology (private keys and hash values), which creates an immutable blockchain. Immutability ensures that transactions cannot be tampered with or deleted, which is crucial for the integrity of important data in server applications.

[0103] Step 101: Determine the first edge computing node within the blockchain network of the server system, and use the first edge computing node as the creation node;

[0104] It should be noted that, in this embodiment of the application, the first edge computing node in the blockchain network of the target server manufacturer accessing the blockchain server system is determined, and the first edge computing node is used as the creation node.

[0105] Step 102: Send firmware processing information to the blockchain network by creating a node, wherein the firmware processing information is determined based on the requirements of the target server manufacturer;

[0106] Step 103: By creating a node, the firmware processing information is encrypted and packaged with a private key to obtain the target firmware processing information, and the target firmware processing information is sent to the blockchain network to create the target block in the blockchain network.

[0107] Step 104: Broadcast the target block to the verification nodes through a peer-to-peer topology so that the target block can be verified by the verification nodes, where the verification nodes are the second edge computing nodes in the blockchain network;

[0108] Step 105: If the verification is successful, the target block is added to the blockchain network.

[0109] Step 106: Capture the target firmware processing information in the target block through the third edge computing node in the blockchain network, and parse the firmware processing information;

[0110] Step 107: Process the target firmware based on the parsed firmware processing information.

[0111] Furthermore, prior to the step of broadcasting to the verification node via point-to-point topology, the method includes:

[0112] The verification node confirms whether the target encrypted information is valid.

[0113] If the target encrypted information is in a valid state, then the target encrypted information is placed in the memory pool corresponding to the verification node;

[0114] The node verifies the block creation information in the memory pool and compiles and generates the target block based on the block creation information.

[0115] It's important to note that the mempool corresponding to the verification node is, specifically, the blockchain transaction pool where, after a block is verified, it is added. This is a temporary storage area used to store transactions awaiting inclusion in a block. Verification nodes select transactions from the mempool, prioritizing transactions containing critical information (such as firmware upgrade information or crash information). The verification node must then verify (solve challenges) these transactions according to the consensus strategy.

[0116] It should be noted that, in the embodiments of this application, the specific process of upgrading the server network firmware (FW) in sections 101-107 above may include the following:

[0117] First, server manufacturers connect to nodes within the CPLD blockchain, sign firmware upgrade information (BMC / BIOS / CPLD FW, etc.) using their private keys, and send it to the network. Other servers within the network act as verification nodes, receiving this information and verifying its validity, including the authenticity of the signature and random values, and adding valid transactions to the verification nodes' transaction pools. When creating a block, verification nodes select information from their own memory pools and compile this information into a new block. The verifier signs the new block with their private key, granting it authority, and broadcasts the newly created block to the network. Other verifiers on the network use the signer's known public key to verify the block's signature. Once verified, the new block is added to the blockchain. This addition occurs synchronously on all nodes in the network. Once a subsequent block is added, the transactions within that block are considered confirmed, further ensuring its immutability. All nodes continuously capture the latest block information and parse the firmware version information within it. If the current node's firmware version differs from the version in the latest block, the firmware upgrade is performed according to the firmware version in the block information. This upgrade is received and led by CPLD and can be used in conjunction with Intel PFR (platform firmware resilience) upgrades. Upgrade logs can also be uploaded to the blockchain network.

[0118] This implementation case effectively meets the server network's requirements for security, integrity, and traceability in firmware upgrades, preventing the risk of malicious damage to server firmware after a central node intrudes into the network. Furthermore, restricting server vendor connections to the CPLD blockchain network effectively protects customer business networks and reduces customer concerns about vendor-side network access.

[0119] A single server node is configured with dual IPs, connecting to the Baseboard Management Controller (BMC) and Complex Programmable Logic Device (CPLD) on the motherboard. The BMC will use the dynamic IP for service transmission and other key elements, while the CPLD will use the static IP for firmware upgrades, logging, and blockchain-based functions.

[0120] Use VLAN tagging to assign two IPs to a single network port: VLAN ID 1 (dynamic IP) for the BMC and VLAN ID 2 (static IP) for the CPLD. Configure DHCP on VLAN ID 1 to assign the dynamic IP to the BMC. Manually or via script, assign a static IP to VLAN ID 2 for the CPLD.

[0121] Within the server, CPLDs perform important tasks such as firmware upgrades (BMC / BIOS, etc.) and controlling and recording server power status. This example uses a CPLD blockchain network to simulate a scenario where, after a customer has set up a server network, the server manufacturer needs to perform firmware security upgrades and read back logs and error messages.

[0122] As shown in Figure 5, in a server usage scenario, the business network composed of BMC nodes is connected to the customer-side host for the customer to perform customer business processing. The server vendor does not access the customer business network to prevent any potential impact on the customer's business.

[0123] The blockchain network composed of CPLDs connects to the server manufacturer's side, allowing single or multiple nodes to connect bidirectionally, ensuring redundancy and robustness. Furthermore, this blockchain network can also connect unidirectionally or bidirectionally to the customer's network. Due to the characteristics of blockchain, both the customer side and the server manufacturer side can obtain the same important information.

[0124] In this case, the blockchain consensus adopts a Proof-of-Authority (PoA) model. Depending on the chosen scheme, one or more verification machines are responsible for generating each new transaction block that will be included in the blockchain. New blocks can be accepted directly without verification, approved by a unanimous vote of the block generator, or simply by a majority vote, depending on the configuration chosen for the blockchain.

[0125] In Proof of Authority (PoA), each newly created block must be signed and approved by validators before being added to the blockchain. Validators reach consensus by digitally signing blocks, thus proving their authority on the network. In this model, transactions and blocks are verified by authorized accounts known as validators. Validators are pre-selected trusted entities authorized to create new blocks and process transactions. Compared to Proof of Work (PoW), PoA allows for faster block creation times and higher throughput.

[0126] Furthermore, after the step of processing the target firmware based on the parsed firmware processing information, the method includes:

[0127] Log information corresponding to the controller node where the controller is located is uploaded at preset time intervals.

[0128] After the step of processing the target firmware based on the parsed firmware processing information, the method includes:

[0129] When the controller detects that the server system is in an abnormal power outage state, it uploads the log information corresponding to the controller node where the controller is located.

[0130] It should be noted that in this embodiment, the server nodes can automatically report logs. Specifically, each server node automatically uploads and verifies the logs to the network. Logs are sent in two situations: when the CPLD detects an abnormal power outage, or when the current node's logs are uploaded at set intervals (e.g., every hour). After being uploaded to the network and authenticated by the blockchain, the logs are distributed to each node for storage. Then, the server vendor and the client read the logs from the connected nodes.

[0131] This implementation case can store the critical logs of the entire network on each node of the server, which can greatly prevent the logs from being maliciously tampered with after a single node is attacked by hackers, and also meet the requirements of security, integrity and traceability.

[0132] Referring to Figure 6, a schematic diagram of a firmware processing device provided in an embodiment of this application is shown. The device includes:

[0133] The determination module 201 is used to determine the first edge computing node in the blockchain network of the server system and to use the first edge computing node as the creation node.

[0134] The sending module 202 is used to send firmware processing information to the blockchain network by creating a node, wherein the firmware processing information is determined based on the requirements of the target server manufacturer.

[0135] The creation module 203 is used to encrypt and package the firmware processing information with a private key by creating a node, obtain the target firmware processing information, and send the target firmware processing information to the blockchain network to create a target block in the blockchain network.

[0136] The verification module 204 is used to broadcast the target block to the verification node through a peer-to-peer topology so that the target block can be verified by the verification node, wherein the verification node is a second edge computing node within the blockchain network;

[0137] Add module 205 to add the target block to the blockchain network if the verification is successful;

[0138] The capture module 206 is used to capture target firmware processing information in the target block through a third edge computing node in the blockchain network and parse the firmware processing information.

[0139] The processing module 207 is used to process the target firmware based on the parsed firmware processing information.

[0140] This application embodiment also provides a communication device, as shown in FIG7, including a processor 701, a communication interface 702, a memory 703, and a communication bus 704, wherein the processor 701, the communication interface 702, and the memory 703 communicate with each other through the communication bus 704.

[0141] Memory 703 is used to store computer programs;

[0142] When processor 701 executes a program stored in memory 703, it can perform the following steps:

[0143] Identify the first edge computing node within the blockchain network of the server system and use it as the creation node;

[0144] By creating nodes, firmware processing information is sent to the blockchain network, where the firmware processing information is determined based on the requirements of the target server manufacturer.

[0145] By creating a node, the firmware processing information is encrypted and packaged with a private key to obtain the target firmware processing information, and then the target firmware processing information is sent to the blockchain network to create the target block in the blockchain network.

[0146] The target block is broadcast to the verification nodes through a peer-to-peer topology so that the target block can be verified by the verification nodes. The verification nodes are the second edge computing nodes in the blockchain network.

[0147] If the verification is successful, the target block will be added to the blockchain network.

[0148] The target firmware processing information is captured from the target block by a third edge computing node in the blockchain network, and the firmware processing information is parsed.

[0149] The target firmware is processed based on the parsed firmware processing information.

[0150] The memory and processor are connected via a bus, which can include any number of interconnecting buses and bridges, connecting various circuits of one or more processors and the memory. The bus can also connect various other circuits, such as peripheral devices, voltage regulators, and power management circuits, which are well known in the art and will not be described further herein. The bus interface provides an interface between the bus and the transceiver. The transceiver can be a single element or multiple elements, such as multiple receivers and transmitters, providing a unit for communicating with various other devices over a transmission medium. Data processed by the processor can be transmitted over a wired medium or wirelessly via an antenna, which further receives and transmits data to the processor. The processor manages the bus and general processing, and can also provide various functions, including timing, peripheral interface, voltage regulation, power management, and other control functions. The memory can be used to store data used by the processor during operation.

[0151] The communication bus mentioned above can be a Peripheral Component Interconnect (PCI) bus or an Extended Industry Standard Architecture (EISA) bus, etc. This communication bus can be divided into address bus, data bus, control bus, etc. For ease of illustration, only one thick line is used to represent it in the diagram, but this does not mean that there is only one bus or one type of bus.

[0152] The communication interface is used for communication between the aforementioned terminal and other devices.

[0153] The memory may include random access memory (RAM) or non-volatile memory, such as at least one disk storage device. In some embodiments, the memory may also be at least one storage device located remotely from the aforementioned processor.

[0154] The processors mentioned above can be general-purpose processors, including central processing units (CPUs), network processors (NPs), etc.; they can also be digital signal processors (DSPs), application-specific integrated circuits (ASICs), field-programmable gate arrays (FPGAs), or other programmable logic devices, discrete gate or transistor logic devices, or discrete hardware components.

[0155] In another embodiment provided in this application, a computer non-volatile readable storage medium is also provided, which stores instructions that, when executed on a computer, cause the computer to perform any of the memory resource integrated machine backup power methods described in the above embodiments.

[0156] In another embodiment provided in this application, a computer program product containing instructions is also provided, which, when run on a computer, causes the computer to execute any of the memory resource all-in-one machine backup power methods in the above embodiments.

[0157] In the above embodiments, implementation can be achieved, in whole or in part, through software, hardware, firmware, or any combination thereof. When implemented in software, it can be implemented, in whole or in part, as a computer program product. A computer program product includes one or more computer instructions. When the computer program instructions are loaded and executed on a computer, all or part of the flow or function according to the embodiments of this application is generated. The computer can be a general-purpose computer, a special-purpose computer, a computer network, or other programmable device. The computer instructions can be stored in a computer non-volatile readable storage medium or transmitted from one computer non-volatile readable storage medium to another. For example, computer instructions can be transmitted from one website, computer, server, or data center to another website, computer, server, or data center via wired (e.g., coaxial cable, fiber optic, digital subscriber line (DSL)) or wireless (e.g., infrared, wireless, microwave, etc.) means. The computer non-volatile readable storage medium can be any available medium that a computer can access or a data storage device such as a server or data center that integrates one or more available media. The available media can be magnetic media (e.g., floppy disks, hard disks, magnetic tapes), optical media (e.g., DVDs), or semiconductor media (e.g., solid state disks (SSDs)).

[0158] It should be noted that, in this document, relational terms such as "first" and "second" are used merely to distinguish one entity or operation from another, and do not necessarily require or imply any such actual relationship or order between these entities or operations. Furthermore, the terms "comprising," "including," or any other variations thereof are intended to cover non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements includes not only those elements but also other elements not expressly listed, or elements inherent to such a process, method, article, or apparatus. Without further limitations, an element defined by the phrase "comprising one..." does not exclude the presence of other identical elements in the process, method, article, or apparatus that includes the element.

[0159] The various embodiments in this specification are described in a related manner. Similar or identical parts between embodiments can be referred to mutually. Each embodiment focuses on describing the differences from other embodiments. In particular, the system embodiments are basically similar to the method embodiments, so the description is relatively simple; relevant parts can be referred to the descriptions of the method embodiments.

[0160] The above are merely preferred embodiments of this application and are not intended to limit the scope of protection of this application. Any modifications, equivalent substitutions, improvements, etc., made within the spirit and principles of this application are included within the scope of protection of this application.

Claims

1. A server system, characterized in that, The server system includes: a plurality of server nodes, each server node including a server network port, a baseboard management controller node, and a controller node; The server's network port is bound to a first Internet Protocol address and a second Internet Protocol address; The first Internet Protocol address is configured to be assigned to the baseboard management controller node, the second Internet Protocol address is configured to be assigned to the controller node, a plurality of baseboard management controller nodes constitute a server service network, a plurality of controller nodes constitute a blockchain network, and the controller node is configured to transmit target information in the blockchain network.

2. The server system according to claim 1, characterized in that, Several of the aforementioned baseboard management controller nodes are connected through a central node to form a star topology.

3. The server system according to claim 1, characterized in that, The controller nodes are interconnected in a distributed manner.

4. The server system according to claim 1, characterized in that, The blockchain network includes creation nodes, accounting nodes, and verification nodes, wherein the creation nodes, accounting nodes, and verification nodes respectively correspond to the controller nodes in the blockchain network.

5. The server system according to claim 4, characterized in that, The creation node is configured as a controller node to upload the target information.

6. The server system according to claim 4, characterized in that, The accounting node is configured as a controller node to record the target information.

7. The server system according to claim 4, characterized in that, The verification node is configured to verify the legality of the target information.

8. The server system according to claim 1, characterized in that, Blocks in the blockchain network are linked by hash values.

9. The server system according to claim 8, characterized in that, The block includes a header and a body; The header includes the hash value of the current block, the hash value of the previous block corresponding to the current block in the connection order, and timestamp information, wherein the timestamp information is configured to record the creation time corresponding to the current block. The subject includes the target information.

10. The server system according to claim 1, characterized in that, The controller node is configured for firmware processing and logging.

11. The server system according to claim 1, characterized in that, The server network port is configured as a single network port, and the server system connects to the external network through this single network port.

12. The server system according to claim 1, characterized in that, The first Internet Protocol address is a dynamic IP address, and the second Internet Protocol address is a static IP address. The baseboard management controller node transmits services through the dynamic IP address.

13. The server system according to claim 1, characterized in that, The target information in the blockchain network includes firmware information and system logs.

14. A firmware processing method, characterized in that, Applied to the server system of claims 1-13, the method includes: Identify the first edge computing node within the blockchain network of the server system, and use the first edge computing node as the creation node; The creation node sends firmware processing information to the blockchain network, wherein the firmware processing information is determined based on the requirements of the target server manufacturer. The firmware processing information is encrypted and packaged using a private key by the creation node to obtain the target firmware processing information, and then the target firmware processing information is sent to the blockchain network to create a target block in the blockchain network. The target block is broadcast to the verification node via a peer-to-peer topology so that the target block can be verified by the verification node, wherein the verification node is a second edge computing node within the blockchain network; If the verification is successful, the target block will be added to the blockchain network. The target firmware processing information is captured from the target block by a third edge computing node in the blockchain network, and the firmware processing information is parsed. The target firmware is processed based on the parsed firmware processing information.

15. The method according to claim 14, characterized in that, Prior to the step of broadcasting to the verification node via point-to-point topology, the method includes: The verification node confirms whether the target encrypted information is valid. If the target encrypted information is in a valid state, then the target encrypted information is placed in the memory pool corresponding to the verification node; The verification node determines the block creation information in the memory pool and compiles and generates the target block based on the block creation information.

16. The method according to claim 14, characterized in that, After the step of processing the target firmware based on the parsed firmware processing information, the method includes: Log information corresponding to the controller node where the controller is located is uploaded according to a preset time interval.

17. The method according to claim 14, characterized in that, After the step of processing the target firmware based on the parsed firmware processing information, the method includes: In response to the controller detecting that the server system is in an abnormal power outage state, the controller uploads the log information corresponding to the controller node where the controller is located.

18. A firmware processing device, characterized in that, Applied to the server system of claims 1-13, the apparatus comprises: The determination module is configured to determine the first edge computing node within the blockchain network of the server system, and to use the first edge computing node as the creation node; The sending module is configured to send firmware processing information to the blockchain network through the creation node, wherein the firmware processing information is determined based on the requirements of the target server manufacturer; The creation module is configured to encrypt and package the firmware processing information with a private key through the creation node to obtain the target firmware processing information, and send the target firmware processing information to the blockchain network to create a target block in the blockchain network; The verification module is configured to broadcast the target block to a verification node via a peer-to-peer topology, so that the target block can be verified by the verification node, wherein the verification node is a second edge computing node within the blockchain network; The module is configured to add the target block to the blockchain network if the verification is successful. The capture module is configured to capture the target firmware processing information in the target block through a third edge computing node in the blockchain network, and parse the firmware processing information. The processing module is configured to process the target firmware based on the parsed firmware processing information.

19. A communication device, characterized in that, include: A transceiver, a memory, a processor, and a program stored in the memory and executable on the processor; The processor is configured to read a program from memory to implement the firmware processing method as described in any one of claims 14-17.

20. A non-volatile readable storage medium for storing a program, characterized in that, When the program is executed by the processor, it implements the firmware processing method as described in any one of claims 14-17.

21. A computer program product, comprising a computer program / instructions, characterized in that, When the computer program / instructions are executed by the processor, they implement the firmware processing method as described in any one of claims 14-17.

Citation Information

Patent Citations

  • Data processing method, terminal device and network device

    CN109309650A

  • Complete machine system and firmware upgrading method of intelligent network card thereof

    CN114172807A

  • Server and network system

    CN117499222A

  • Baseboard management controller cluster firmware upgrading method, product, equipment and medium

    CN118484219A

  • Server system, firmware processing method and device, equipment, medium and product

    CN118713816A