Abstract: Examples described herein relate to a network interface device. In some examples, the network interface device includes a device interface; a direct memory access (DMA) circuitry; a network interface; a processor; and circuitry to boot from a network source, obtain one or more boot images from said network source, and subsequently operate as a network boot server for at least one other device.
Description:RELATED APPLICATION
[0001] The present application claims priority to U.S. Non-Provisional Patent Application No. 18/535,892 filed on 11 December 2023 and titled “NETWORK INTERFACE DEVICE BOOTING ONE OR MORE DEVICES” the entire disclosure of which is hereby incorporated by reference.
BACKGROUND
[0002] Preboot Execution Environment (PXE) (e.g., Preboot Execution Environment (PXE) Specification, Version 2.1 (1999)) describes a standardized manner in which a client boots a software assembly from a boot server via a network. If the client cannot be booted (e.g., there is no operating system (OS) installed, or the OS has failed in some manner), then the client can execute a Universal Extensible Firmware Interface (UEFI) application and utilize a PXE-capable network interface controller (NIC) to boot from a PXE boot server. FIG. 1 depicts an example prior art of boot of a server system by a PXE server.
[0003] A network interface device such as Infrastructure Processing Unit (IPU), data processing unit (DPU), or Smart NIC can include a general-purpose computer system, including a central processing unit (CPU), memory, storage, input/output (I/O) devices, etc. In connection with a boot operation, such network interface devices execute operating systems (OSs), which are installed prior to boot. Different customers and different use cases utilize different OSs with different configurations. As such, some network interface devices that execute OSs are not provisioned in the factory and are provisioned on-premises by an end-user by installing OSs on-premises. However, installing and configuring OSs and software on the network interface device and host system can be a time-consuming manual process that is error-prone.
BRIEF DESCRIPTION OF THE DRAWINGS
[0004] FIG. 1 depicts an example prior art of boot.
[0005] FIG. 2 depicts an example system.
[0006] FIG. 3 depicts an example process.
[0007] FIG. 4 depicts an example process.
[0008] FIGs. 5A and 5B depict example network interface devices.
[0009] FIG. 6 depicts an example system.
DETAILED DESCRIPTION
[0010] At least to provide for provisioning or installing a boot firmware or software assembly in a network interface device and/or host system, on-premises or in another environment, where a host system is connected to a network interface device and either or both of the host system or the network interface device is/are not provisioned with boot firmware or an OS (e.g., the boot firmware or OS is corrupted, not approved for use, or not stored prior to or during boot), the network interface device can boot from a network source, obtain one or more boot images from the network source, and operate as a network boot server for at least one other device. For example, the boot server can include a server that is connected to the network interface device using a network and can transmit or receive packets consistent with Ethernet or other standard or proprietary protocols. For example, the at least one other device can include a server connected to the network interface device by a device interface and the server executes one or more processes that transmit and/or receive packets using the network interface device. For example, the at least one other device can include a second network interface device, a server connected to the network interface device by a network and accessible using packets consistent with Ethernet or other standard or proprietary protocols, a composite system formed from devices connected by a network, fabric, or interconnect and composed by the network interface device or an orchestrator, or other systems. For example, the one or more boot images can include one or more of: boot firmware, an operating system (OS), applications, configured applications, full disk image (e.g., processes, drivers, processes, device and process state), or others.
, Claims:1. An apparatus comprising:
a network interface device comprising:
a device interface;
a direct memory access (DMA) circuitry;
a network interface;
a processor; and
circuitry to boot from a network source, obtain one or more boot images from the network source, and subsequently operate as a network boot server for at least one other device.
WE CLAIM:
1. An apparatus comprising:
a network interface device comprising:
a device interface;
a direct memory access (DMA) circuitry;
a network interface;
a processor; and
circuitry to boot from a network source, obtain one or more boot images from
the network source, and subsequently operate as a network boot server for at least
one other device.
2. The apparatus of claim 1, wherein the network interface device comprises
one or more of: a network interface controller (NIC), a remote direct memory access
(RDMA)-enabled NIC, SmartNIC, router, switch, forwarding element,
infrastructure processing unit (IPU), data processing unit (DPU), or edge processing
unit (EPU).
3. The apparatus of claim 1, wherein the circuitry is to provide network boot
services to a host system.
4. The apparatus of claim 1, wherein the circuitry is to provide network boot
services to a second system or a second network interface device.
5. The apparatus of claim 1, wherein the at least one other device comprises a
composite system formed from devices connected by a network, fabric, or
interconnect.
6. The apparatus of claim 1, wherein the one or more boot images comprise
one or more of: boot firmware, an operating system (OS), an application, full disk
image, driver, process state, device state, or virtual machine migration.
31 INTL-8126-IN
7. The apparatus of any of claims 1-6, wherein the network boot server is to
operate in a manner consistent with one or more of: Preboot Execution Environment
(PXE), Hypertext Transfer Protocol (HTTP) boot, Serva 32/64, DHCP Server for
Windows, ERPXE, or Tiny PXE Server and TinyWeb.
8. At least one non-transitory computer-readable medium comprising
instructions stored thereon, that if executed by one or more processors, cause the
one or more processors of a network interface device to:
based on inability of a processor of the one or more processors to access a
boot software for execution, request the boot software from a network boot server;
intercept a request for the boot software from a host system received via a
device interface; and
provide the boot software to the host system via the device interface for
execution by the host system, wherein the boot software comprises one or more of:
boot firmware or an operating system (OS).
9. A method comprising:
a network interface device performing:
retrieving boot software from a boot software server and installing the boot
software for execution by a processor of the network interface device and a host
system connected to the network interface device via a device interface, wherein
the boot software comprises one or more of: boot firmware or an operating system
(OS) and wherein the network interface device comprises: the device interface; a
direct memory access (DMA) circuitry; a network interface; and the processor.
10. The method of claim 9, comprising:
the network interface device performing:
based on boot of the processor and inability for a processor of the host
system to access a boot software for execution, requesting the boot software from
the boot software server;
32 INTL-8126-IN
intercepting a request for the boot software from the host system received
via a device interface; and
providing the boot software to the host system via the device interface for
execution by the host system.
11. The method of claim 10, comprising:
the network interface device communicating with the host system as the
boot software server.
12. The method of claim 10, comprising:
the network interface device intercepting a communication from the host
system to the network interface device and providing boot software options to the
host system.
13. The method of claim 9, wherein the boot software comprises one or more
of: a Basic Input/Output System (BIOS), Universal Extensible Firmware Interface
(UEFI), or a boot loader.
14. The method of claim 9, wherein the network interface device comprises one
or more of: a network interface controller (NIC), a remote direct memory access
(RDMA)-enabled NIC, SmartNIC, router, switch, forwarding element,
infrastructure processing unit (IPU), data processing unit (DPU), or edge processing
unit (EPU).
15. The method of claim 9, comprising:
providing network boot services to one or more of: a host system, a second
system, a second network interface device, or a composite system formed from
devices connected by a network, fabric or interconnect.
16. The method of any of claims 9-15, wherein the boot software server is to
operate in a manner consistent with one or more of: Preboot Execution Environment
| # | Name | Date |
|---|---|---|
| 1 | 202444066903-POWER OF AUTHORITY [04-09-2024(online)].pdf | 2024-09-04 |
| 2 | 202444066903-FORM 1 [04-09-2024(online)].pdf | 2024-09-04 |
| 3 | 202444066903-DRAWINGS [04-09-2024(online)].pdf | 2024-09-04 |
| 4 | 202444066903-DECLARATION OF INVENTORSHIP (FORM 5) [04-09-2024(online)].pdf | 2024-09-04 |
| 5 | 202444066903-COMPLETE SPECIFICATION [04-09-2024(online)].pdf | 2024-09-04 |
| 6 | 202444066903-Correspondence-Letter [08-11-2024(online)].pdf | 2024-11-08 |
| 7 | 202444066903-Form-4 u-r 12(5) [02-04-2025(online)].pdf | 2025-04-02 |
| 8 | 202444066903-FORM 3 [02-04-2025(online)].pdf | 2025-04-02 |