Selective control method and system for starting path of diskless equipment
By providing DHCP/TFTP services in the diskless system and combining them with XDP technology, selective response to the diskless host is achieved, solving the coupling problem between the diskless system and the internet cafe management software. This enables flexible and efficient startup and task switching of the diskless host, improving system stability and efficiency.
Patent Information
- Application Number
- CN202510801871.1
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-06-16
- Publication Date
- 2026-01-30
AI Technical Summary
Existing diskless systems cannot effectively utilize idle resources in internet cafes or e-sports hotels, and are tightly coupled with internet cafe management software, leading to system configuration complexity and stability issues.
By providing DHCP/TFTP services and combining them with XDP technology, selective responses to diskless hosts can be achieved, quickly controlling their boot paths. Independent of internet cafe management software, it uses a fast data path program to bypass the operating system's network stack and generate DHCP response packets to load the preset operating system.
It enables diskless hosts to start flexibly and efficiently under different task requirements, reduces response latency, simplifies configuration requirements, improves system stability and flexibility, and ensures the normal operation of the game system.
Smart Images

Figure CN121433735A_ABST
Abstract
Description
TECHNICAL FIELD
[0001] The present application relates to the technical field of computer networks, and in particular to a selective control method and system for the boot path of a diskless device. BACKGROUND
[0002] In Internet cafes or e-sports hotels, a diskless system solution is commonly used, i.e., game hosts are not equipped with hard drives, but load the operating system (such as a Windows system with game content) from a central server through the network. The advantage of this solution is that it can centrally manage operating systems and game resources. However, the existing diskless system cannot effectively utilize idle resources when the host is idle, limiting the system's use efficiency.
[0003] To solve this problem, the PCBoot system (diskless system) has emerged. PCBoot is used to automatically start idle game hosts and make them perform other tasks (such as data processing, cloud computing, etc.), and the operating system images required for these tasks are also provided by the server. When it is necessary to restore the game function, the PCBoot system can remotely shut down these hosts and restore them to the original game system through manual startup.
[0004] In implementing this function, one of the key steps is the DHCP (Dynamic Host Configuration Protocol) process. Whenever a game host starts up, it sends a DHCP request over the network seeking an IP address and instructions for loading the operating system, and the DHCP server returns this information.
[0005] However, the traditional PCBoot system relies on Internet cafe management software to handle DHCP requests, and this approach has two main problems:
[0006] 1. In order for the PCBoot system to work in conjunction with the Internet cafe management software, the settings of the Internet cafe management software must be modified. If the Internet cafe management software cannot be modified for some reason (such as software warranty restrictions, vendor requirements, or configuration complexity), the PCBoot will not function properly.
[0007] 2. The close coupling between the Internet cafe management software and the PCBoot system makes them dependent on each other. If one of the systems fails or crashes, the other system may also not function properly. For example, if the Internet cafe's DHCP server has a configuration error or goes down, the PCBoot system will not be able to start the specified tasks; conversely, if the PCBoot system interferes with the shared DHCP settings, the Internet cafe's game service may also be affected.
[0008] Therefore, there is an urgent need in the art for a diskless host boot path control method that can operate independently of Internet cafe management software. SUMMARY
[0009] The application aims to provide a method and system for selective control of diskless device startup path, by providing DHCP / TFTP service and realizing selective response to PXE DHCP request of diskless host, combining with XDP technology to significantly reduce response delay, thereby preferentially controlling startup path of diskless host when starting workload, and enabling diskless host to flexibly and efficiently start and switch operating system under different task requirements, and decoupling from Internet bar management software.
[0010] The application discloses a method for selective control of diskless device startup path, comprising:
[0011] receiving a configuration notification, wherein the configuration notification comprises target startup parameters of at least one target diskless device;
[0012] configuring a fast data path program in response to the configuration notification, wherein the configuration comprises:
[0013] opening a response switch for each target diskless device;
[0014] generating response content comprising the target startup parameters;
[0015] starting and broadcasting a DHCP request after the at least one target diskless device is woken up by a network;
[0016] when the fast data path program receives the DHCP request, judging whether the response switch of the target diskless device is opened:
[0017] if the response switch is opened, generating and sending a DHCP response packet comprising the response content before an existing DHCP service responds in response to the DHCP request, so that the target diskless device loads a preset specific operating system according to the response content;
[0018] if the response switch is not opened, the fast data path program does not respond to the DHCP request, the DHCP request is responded by the existing DHCP service, and the diskless device loads a default original operating system.
[0019] In a preferred embodiment, the method further comprises: the target diskless device downloads a startup file from a specified TFTP server address and executes startup according to the TFTP server address and the startup file name in the received DHCP response packet.
[0020] In a preferred embodiment, the target startup parameters comprise: a target media access control address of the target diskless device, an IP address specified for the target diskless device, a subnet mask, a TFTP server address, and a startup file name.
[0021] In one preferred embodiment, further comprising:
[0022] receiving the notification by a user space daemon configured to:
[0023] loading and configuring the fast data path program, including setting or updating a response switch state and the target boot parameters for the target media access control address;
[0024] communicating with an external program to receive commands and configurations.
[0025] In one preferred embodiment, the at least one target diskless device receiving a network wake-up and initiating and broadcasting a DHCP request further comprises:
[0026] the target diskless device receiving a network wake-up and performing a pre-boot execution environment boot;
[0027] loading a level 0 firmware located in a network card ROM;
[0028] the firmware broadcasting the DHCP request to the fast data path program and the existing DHCP service.
[0029] In one preferred embodiment, the at least one target diskless device comprises a plurality of diskless devices, and the user space daemon bulk configures the response switch and response content by group to support bulk wake-up and parallel boot.
[0030] In one preferred embodiment, the fast data path program runs in an operating system kernel space.
[0031] In one preferred embodiment, the user space daemon loads the fast data path program only once at initialization.
[0032] The present application also discloses a selective control system for a diskless device boot path, comprising:
[0033] a fast data path module configured to run a fast data path program in an operating system kernel space for listening to and responding to a DHCP request, generating and sending a DHCP response packet containing response content before an existing DHCP service response, so that a target diskless device loads a pre-set specific operating system;
[0034] a user space daemon module configured to load and configure the fast data path program, including opening a response switch as needed for each target diskless device and generating response content containing target boot parameters;
[0035] a TFTP server configured to store a boot file specified in the target boot parameter and respond to a boot file download request from the target diskless device.
[0036] The application further discloses a computer readable storage medium, which stores computer executable instructions, and the computer executable instructions are executed by a processor to implement the steps in the method.
[0037] In the embodiments of the application, the control of the diskless device boot path is realized by selectively responding to the DHCP request, thereby solving the configuration complexity and system coupling problems in the prior art. Specifically, the fast data path program can bypass the operating system network stack and respond to the DHCP request in the kernel at a high speed, thereby improving the response speed, enabling the DHCP acceleration module to preempt the control right of the diskless host boot path, and enabling the host to load a preset specific operating system. Meanwhile, a virtual response switch is configured for each target diskless device, and the DHCP request response of the device is activated only when a specific workload needs to be started, thereby avoiding interference with the normal game system operation of the Internet cafe management software and ensuring that the game system can be normally started. The selective response feature realizes decoupling with the Internet cafe management software, simplifies the configuration requirements, and improves the stability and flexibility of the system.
[0038] Further, the target diskless device can obtain and execute the preset specific operating system from the specified server through the specified TFTP server address and boot file name, thereby reducing the intermediate links, improving the reliability and efficiency of the boot process, and enhancing the flexibility and accuracy of the diskless host boot control. By including the detailed boot parameters (such as the MAC address, IP address, subnet mask, TFTP server address, and boot file name) of the target diskless device, the boot requirements of each target device can be accurately controlled, and the customization ability of the system and the stability of the boot process are improved.
[0039] Further, the user space daemon and the fast data path program can be cooperated to dynamically update and configure the response switch state and the boot parameter. The user space daemon can batch configure the response switches and the boot parameters of multiple diskless devices according to groups, thereby supporting batch wake-up and parallel boot, greatly improving the efficiency of large-scale device management in the Internet cafe or large data center environment, and reducing the demand for manual intervention.
[0040] The various technical features disclosed in the above-described invention, the various technical features disclosed in the following embodiments and examples, and the various technical features disclosed in the accompanying drawings can be freely combined to form various new technical solutions (all of which should be considered as having been recorded in this specification), unless such a combination of technical features is technically infeasible. For example, in one example, feature A+B+C is disclosed, and in another example, feature A+B+D+E is disclosed. Features C and D are equivalent technical means that serve the same function, and technically only one needs to be used; it is impossible to use both simultaneously. Feature E can be technically combined with feature C. Therefore, the solution A+B+C+D should not be considered as having been recorded because it is technically infeasible, while the solution A+B+C+E should be considered as having been recorded. Attached Figure Description
[0041] Figure 1 This is a flowchart illustrating a method for selectively controlling the boot path of a diskless device according to one embodiment of this application.
[0042] Figure 2 This is a timing diagram of a selective control method for the boot path of a diskless device according to one embodiment of this application;
[0043] Figure 3 This is a schematic diagram of the selective control system for the boot path of a diskless device according to one embodiment of this application. Detailed Implementation
[0044] In the following description, many technical details are presented to help the reader better understand this application. However, those skilled in the art will understand that the technical solutions claimed in this application can be implemented even without these technical details and various variations and modifications based on the following embodiments.
[0045] Explanation of some concepts:
[0046] Diskless systems: A diskless system is a computer system that does not require a local hard drive. It typically uses network storage or cloud storage to store and manage data, rather than relying on a local hard drive.
[0047] Internet cafe management software: Diskless system solutions are usually used in internet cafes or e-sports hotels. That is, the game host does not have a hard drive. After booting, it starts from the network. The image booted from the network is loaded from a server in the local area network. The software that provides the above functions running on this server is generally called game system or internet cafe management software.
[0048] PXE Boot: PXE stands for Preboot Execution Environment, a technology used to boot a computer over a network. It allows a computer to load and boot an operating system image over a network without requiring local storage.
[0049] XDP (eXpress Data Path) is a high-performance network data path based on eBPF (extended Berkeley Packet Filter) for sending and receiving network packets at high speeds by bypassing most of the operating system's network stack.
[0050] DHCP: Dynamic Host Configuration Protocol, is primarily used to automatically assign IP addresses and other network configuration parameters to devices on a network, enabling them to communicate with other IP networks. During the PXE boot process, in addition to basic network configuration, the DHCP server also provides crucial information required for PXE boot: the TFTP server address and the boot file name.
[0051] User space is a memory area in the operating system used to run applications (such as text editors, browsers, games, etc.) and some system tools.
[0052] Kernel Space: Kernel space is the memory area where the operating system kernel runs, responsible for managing low-level operations such as hardware resources, process scheduling, memory management, and device drivers.
[0053] To make the objectives, technical solutions, and advantages of this application clearer, the embodiments of this application will be described in further detail below with reference to the accompanying drawings.
[0054] The first embodiment of this application relates to a selective control method for the boot path of a diskless device, the process of which is as follows: Figure 1 As shown, the method includes the following steps:
[0055] In S1, a configuration notification is received, which includes target boot parameters for at least one target diskless device.
[0056] In S2, in response to configuration notifications, the fast data path procedure is configured, including:
[0057] Turn on the response switch for each target diskless device;
[0058] Generate response content containing the target startup parameters.
[0059] In S3, at least one target diskless device is woken up by the network and starts up to broadcast a DHCP request.
[0060] In S4, when the fast data path program receives a DHCP request, it determines whether the response switch of the target diskless device is on:
[0061] In S41, if enabled, in response to a DHCP request, the Fast Data Path program generates and sends a DHCP response packet containing the response content before the existing DHCP service response, enabling the target...
[0062] The diskless device loads a pre-defined operating system based on the response content.
[0063] In S42, if not enabled, the Fast Data Path program does not respond to DHCP requests; instead, the existing DHCP service responds, and diskless devices load the default native operating system.
[0064] In an optional embodiment, in S4, enabling the target diskless device to load a preset specific operating system based on the response content may further include: the target diskless device downloading a boot file from a specified TFTP server address and executing the boot process based on the TFTP server address and boot file name in the received DHCP response packet.
[0065] In an optional embodiment, the target boot parameters include: the target media access control address (MAC address) of the target diskless device, the IP address specified for the target diskless device, the subnet mask, the TFTP server address, and the boot file name.
[0066] In an optional embodiment, it may further include: receiving a notification via a user space daemon, the user space daemon being configured to:
[0067] Responsible for loading and configuring the fast data path program, including setting or updating the response switch status for the target media access control address and target startup parameters; and,
[0068] It communicates with external programs to receive commands and configurations.
[0069] In an optional embodiment, S3 may further include:
[0070] Upon receiving the network wake-up call, the target diskless device performs a pre-boot execution environment boot.
[0071] Load the Level 0 firmware located in the network card ROM.
[0072] The firmware broadcasts DHCP requests to the Fast Data Path program and existing DHCP services.
[0073] In an optional embodiment, at least one target diskless device may include multiple diskless devices, and the user space daemon configures response switches and response content in batches to support batch wake-up and parallel startup.
[0074] In an alternative embodiment, the fast data path program can run in the operating system kernel space.
[0075] In an alternative embodiment, the user space daemon may execute the fast data path loading procedure only once during initialization.
[0076] To better understand the technical solution of this application, a specific example is provided below. The details listed in this example are mainly for ease of understanding and are not intended to limit the scope of protection of this application.
[0077] like Figure 2 As shown, in this embodiment, before sending a WOL (Wake-Up Call) signal to start the target host (Host A), the diskless system (PCBoot) module first notifies the DHCP Turbo module to prepare to respond to Host A's DHCP requests. This includes the User Space Daemon module, the XDP DHCP (Fast Data Path) module, and the TFTP Service (TFTP server). The notification includes Host A's MAC address and IP address information. Upon receiving this notification, the User Space Daemon immediately configures the XDP DHCP program, enables Host A's response, and prepares the relevant DHCP response information. In this way, the system is prepared for subsequent DHCP request responses.
[0078] When host A receives the WOL signal, it begins PXE boot. First, host A loads and runs the Level 0 boot firmware located in the network card ROM. This firmware broadcasts a DHCP request, demanding an IP address and related boot commands. At this point, both the XDP DHCP program and the regular DHCP server in the internet cafe management software will receive and respond to host A's DHCP request. However, before responding, the XDP DHCP program checks if host A's response switch is enabled. Since PCBoot has this switch enabled, the XDP DHCP program will prioritize responding to host A's request rather than waiting for the regular DHCP server in the internet cafe management software.
[0079] Host A resolves the TFTP server address and boot filename from the initial DHCP response it receives. Through the XDP mechanism, the XDP DHCP program bypasses the operating system's network protocol stack, processing and returning responses directly in the kernel. This makes XDP DHCP's response speed much faster than traditional DHCP servers (provided by internet cafe management software). Therefore, Host A can quickly obtain the TFTP server address and boot filename from the DHCP Turbo module, enabling it to download the boot file from the correct TFTP server.
[0080] Based on the obtained TFTP server address and boot file name, host A continues to request and download the next-level boot firmware from the TFTP server, thereby completing the subsequent boot process and executing preset special tasks. In this way, PCBoot can automatically start and execute specific tasks when host A is idle, without interfering with the original game system operation, realizing flexible boot path control for diskless devices.
[0081] In a large-scale internet cafe, there may be dozens or even hundreds of diskless computers. Using the method described above, when task switching is required for a specific group of devices (such as allowing some computers to process data without disrupting game operation), different startup tasks and systems can be precisely provided to each computer. The system can batch configure response switches to wake up and configure startup paths for multiple diskless devices at once, greatly improving the efficiency of device management.
[0082] Overall, this method allows control of the launch path without modifying the game system configuration. Even if the game system malfunctions, it will not affect the method of this application or the operation of PCBoot, and a malfunction of PCBoot will not affect the normal operation of the game system.
[0083] The second embodiment of this application relates to a selective control system for the boot path of a diskless device, the structure of which is as follows: Figure 3 As shown, the selective control system for the boot path of the diskless device includes: a DHCP acceleration module, which further includes a fast data path module, a user space guardian module, and a TFTP server.
[0084] The Fast Data Path module is used to run the Fast Data Path program in the operating system kernel space. It listens for and responds to DHCP requests, generates and sends a DHCP response packet containing the response content before the existing DHCP service responds, and causes the target diskless device to load a pre-defined specific operating system.
[0085] The user space guardian module is used to load and configure the fast data path program, including turning on a response switch as needed for each target diskless device and generating response content containing target boot parameters.
[0086] The TFTP server is used to store the boot file specified in the target boot parameters and to respond to boot file download requests from the target diskless device.
[0087] from Figure 3 As can be seen, this system is divided into kernel space and user space. Kernel space includes the Fast Data Path program, which utilizes XDP technology to quickly respond to DHCP requests from diskless devices and generate boot response packets. User space includes a user space daemon and a TFTP server. The user space daemon receives configuration and commands from the diskless system program PCBoot Program via a socket and communicates with the Fast Data Path program to transmit boot parameters and control signals. During initialization, the daemon loads the XDP program and manages the host's response switch by configuring the XDP program, controlling which hosts can respond to DHCP requests. The TFTP Service is a standard TFTP service; when the XDP program responds to a DHCP request, it points the TFTP server address to this service so that the diskless device can download the boot file. Through precise configuration and communication cooperation, the various modules jointly achieve selective control over the boot path of the diskless device.
[0088] The first embodiment is a method embodiment corresponding to this embodiment. The technical details in the first embodiment can be applied to this embodiment, and the technical details in this embodiment can also be applied to the first embodiment.
[0089] Accordingly, embodiments of this application also provide a computer-readable storage medium storing computer-executable instructions that, when executed by a processor, implement the various method embodiments of this application. Computer-readable storage media include permanent and non-permanent, removable and non-removable media, and information storage can be implemented by any method or technology. Information can be computer-readable instructions, data structures, program modules, or other data. Examples of computer storage media include, but are not limited to, phase-change memory (PRAM), static random access memory (SRAM), dynamic random access memory (DRAM), other types of random access memory (RAM), read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM), flash memory or other memory technologies, CD-ROM, digital versatile optical disc (DVD) or other optical storage, magnetic tape, disk storage or other magnetic storage devices, or any other non-transfer medium that can be used to store information accessible by a computing device. As defined herein, computer-readable storage media does not include transient media, such as modulated data signals and carrier waves.
[0090] Furthermore, embodiments of this application also provide a computer program product, including computer-executable instructions that, when executed by a processor, implement the steps in the above-described method embodiments.
[0091] It should be noted that in this application, 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 said element. In this application, if it refers to performing an action according to an element, it means performing the action at least according to that element, including two cases: performing the action only according to that element, and performing the action according to that element and other elements. Expressions such as "multiple," "repeatedly," and "various" include two, two times, two kinds, and more than two, more than two times, and more than two kinds.
[0092] The numbering used in describing the steps of a method does not inherently limit the order of these steps. For example, a step with a higher number does not necessarily have to be executed after a step with a lower number; it can be executed first and then second, or even in parallel, as long as this execution order is reasonable to someone skilled in the art. Similarly, multiple steps with consecutively numbered sequences (e.g., step 101, step 102, step 103, etc.) do not restrict other steps from being executed between them; for example, there can be other steps between step 101 and step 102.
[0093] This specification includes combinations of various embodiments described herein. Individual references to embodiments are made (e.g., "one embodiment," "some embodiments," or "preferred embodiments"); however, these embodiments are not mutually exclusive unless indicated to be mutually exclusive or are readily apparent to those skilled in the art. It should be noted that the word "or" is used in a non-exclusive sense throughout this specification unless the context explicitly indicates or requires it.
[0094] All references to this specification are considered to be incorporated integrally into the disclosure of this application so that they can serve as the basis for modifications if necessary. Furthermore, it should be understood that the above descriptions are merely preferred embodiments of this specification and are not intended to limit the scope of protection of this specification. Any modifications, equivalent substitutions, improvements, etc., made within the spirit and principles of one or more embodiments of this specification should be included within the scope of protection of one or more embodiments of this specification.
Claims
1. A method of selectively controlling a boot path of a diskless device, the method comprising: Comprising: receiving a configuration notification, the configuration notification including target boot parameters of at least one target diskless device; in response to the configuration notification, configuring a fast data path program, the configuration including: opening a response switch for each of the target diskless devices; generating response content including the target boot parameters; the at least one target diskless device being networked to boot and broadcast a DHCP request; the fast data path program receiving the DHCP request, determining whether the response switch of the target diskless device is open: if open, in response to the DHCP request, the fast data path program generating and sending a DHCP response packet including the response content before an existing DHCP service response, causing the target diskless device to load a preset specific operating system according to the response content; if not open, the fast data path program not responding to the DHCP request, the DHCP request being responded to by the existing DHCP service, the diskless device loading a default original operating system.
2. The method of claim 1, wherein the step of selecting the boot path of the diskless device is performed by the diskless device. The fast data path program further includes: the target diskless device downloading a boot file from a specified TFTP server address and executing boot according to a TFTP server address and a boot file name in the received DHCP response packet.
3. The method of claim 1, wherein the step of selecting the boot path of the diskless device is performed by a boot loader. The target boot parameters include: a target media access control address of the target diskless device, an IP address specified for the target diskless device, a subnet mask, a TFTP server address, and a boot file name.
4. The method of claim 3, wherein the boot path selection control information is stored in a non-volatile memory of the diskless device. Further comprising: receiving the notification through a user space daemon configured to: be responsible for loading and configuring the fast data path program, including setting or updating a response switch state for the target media access control address and the target boot parameters; communicating with an external program to receive commands and configurations.
5. The method of claim 1, wherein the step of selecting the boot path of the diskless device is performed by a boot loader. The at least one target diskless device being networked to boot and broadcast a DHCP request further includes: the target diskless device being networked to boot and broadcast a DHCP request further includes: the target diskless device being networked to boot and broadcast a DHCP request further includes: the target diskless device being networked to boot and broadcast a DHCP request further includes:
6. The method of claim 4, wherein the boot path selection control method of the diskless device is characterized by, The at least one target diskless device includes a plurality of diskless devices, and the user space daemon batch configures the response switch and the response content by group to support batch wake-up and parallel boot.
7. The method of claim 1, wherein the step of determining whether the diskless device is to be booted from the local boot path or the remote boot path is performed by a boot server. The fast data path program runs in the operating system kernel space.
8. The method of claim 4, wherein the boot path selection control method of the diskless device is characterized by, The user space daemon only loads the fast data path program once at initialization.
9. A selective control system for the startup path of a diskless device, characterized in that, Comprising: a fast data path module configured to run a fast data path program in an operating system kernel space, for listening to and responding to a DHCP request, generating and sending a DHCP response packet including response content before an existing DHCP service response, causing a target diskless device to load a preset specific operating system; a user space daemon module configured to load and configure the fast data path program, including opening a response switch on demand for each of the target diskless devices and generating response content containing target boot parameters; a TFTP server configured to store a boot file specified in the target boot parameters and respond to a boot file download request from the target diskless device.
10. A computer-readable storage medium, characterized in that, The computer readable storage medium stores computer executable instructions, and the computer executable instructions are executed by a processor to implement the steps in the method according to any one of claims 1 to 8.