US20110125990A1 - Computing device and method for wireless remote boot in a networked environment - Google Patents
Computing device and method for wireless remote boot in a networked environment Download PDFInfo
- Publication number
- US20110125990A1 US20110125990A1 US12/623,555 US62355509A US2011125990A1 US 20110125990 A1 US20110125990 A1 US 20110125990A1 US 62355509 A US62355509 A US 62355509A US 2011125990 A1 US2011125990 A1 US 2011125990A1
- Authority
- US
- United States
- Prior art keywords
- computing device
- network
- wireless
- interface
- pxe
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Abandoned
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/4401—Bootstrapping
- G06F9/4416—Network booting; Remote initial program loading [RIPL]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W99/00—Subject matter not provided for in other groups of this subclass
Definitions
- Some embodiments pertain to wireless devices. Some embodiments pertain to remote boots of computing devices.
- An operating system may use a variety of sources to boot up in various environments.
- Networked systems allow a computing device to receive start up information from a network server.
- a Basic Input/Output System (BIOS) defines a firmware interface which is the first code run by a computing device when powered on.
- the BIOS loads the operating system, identifies, tests and initializes system devices.
- the BIOS prepares the computing device to operate in a known state so that software may be loaded, executed and given control of the device.
- the state of a computing device is defined by a system image and is used by the BIOS.
- a computer system boots up by executing BIOS instructions that cause an operating system loader program to be loaded from a disk drive into system memory.
- the BIOS may then cause the computer system to execute the loader program that, in turn, causes the computer system to load portions of the operating system into the system memory.
- the operating system may execute one or more program(s) to initialize and start execution of the operating system.
- Wireless adapter cards may not have sufficient memory storage to store operating code and driver codes used to support wireless networked functionality. Thus what is needed are computing devices and methods that provide for wireless remote boot in a networked environment.
- FIG. 1 illustrates a computer system in accordance with some example embodiments.
- FIGS. 2-5 illustrate an Active Management Technology (AMT) core hardware architecture resident in a computing device in accordance with some example embodiments.
- AMT Active Management Technology
- FIGS. 6 and 7 illustrate configurations of a computer system in accordance with some example embodiments.
- FIG. 8 is a state diagram illustrating various states of the computer system in accordance with some example embodiments.
- FIG. 9 is a flow diagram illustrating methods for booting a computer system at power up, in accordance with some example embodiments.
- a method and apparatus for a wireless remote boot such as an Operating System (OS) streaming method, in a networked environment having access to a wireless network.
- the method and apparatus utilize existing software and firmware instructions (e.g., code), as well as apparatus to retrieve information that may be used to enable networked boot up from a wireless network for a remote computing device.
- Such techniques may be implemented without additional memory to the wireless cards that implement the wireless connectivity for the computing device, such as wireless-fidelity (Wi-Fi) cards.
- Wi-Fi wireless-fidelity
- Existing wireless cards may not have sufficient memory to store operating instructions (e.g., code) and driver codes to support wireless networked functionality.
- Some embodiments leverage the central management functions of a central server to provide resources that allow wireless boot up of the computing device. By leveraging wireless network support built into a networked system, it is possible to allow a remote boot up from a wireless server without rebuilding the BIOS and other information used at boot up.
- a secure authenticated remote boot of computing device over a wireless network is performed in a pre-boot execution environment (PXE) using active management technology (AMT) for remote discovery.
- a management engine may maintain full control of a wireless interface and a wireless connection as booting begins.
- the ME may relinquish control of the wireless interface after a PXE timeout, in response to a shutdown command, or once the device has booted.
- the ME controls the use of an operating system received from a remote location.
- a host embedded controller interface (HECI) application programming interface (API) is used to communicate with the ME for communicating over the wireless connection, the HECI API to serve as a proxy for the wireless interface when managed by the ME.
- a universal network driver interface (UNDI) is used as a host embedded controller interface (HECI) wrapper, the PXE to use the UNDI to communicate with the ME for communicating network traffic over the wireless connection.
- the computing device is a wireless communication device configured to communicate in accordance with an IEEE 802.11 standard.
- the computing device is a wireless communication device configured to communicate in accordance with an IEEE 802.16 standard.
- the computing device is a wireless communication device configured to communicate in accordance with a 3GPP standard for long-term evolution (LTE).
- FIG. 1 illustrates a computer system 100 , in accordance with example embodiments.
- the computer system 100 includes access to a wireless network 122 , which may reside within computer system 100 or may be external.
- the computer system 100 also includes a local area network (LAN) 120 .
- a central server 126 may be an enterprise server, a central server for implementing control, updates, and other maintenance of one or more of computing devices 124 .
- the computer system 100 is configured to implement a remote network boot up for the computing devices 124 using resources of the central server 126 .
- Some embodiments implement a PXE, which allows a remote computing device 124 , such as a workstation, to boot from a server on a network prior to booting the operating system on the local hard drive of the computing device 124 .
- the PXE specifies a process to load software onto the remote computing device 124 from the central server 126 .
- Implementation of the PXE involves support components in a BIOS and NIC of the computing device 124 .
- the PXE operates to boot the computing device 124 from the central server 126 by transferring the boot image file from the central server 126 .
- the PXE works with the LAN 120 and works with multiple OSs.
- FIG. 2 illustrates a computer system 300 having an Active Management Technology (AMT) management mechanism for remote discovery, healing and protection of computer systems in accordance with some embodiments.
- computer system 300 employs a silicon-resident AMT.
- the AMT provides the basis for software designs to address manageability issues, improve the efficiency of remote management and asset inventory functionality in third-party management software, safeguard functionality of agents from operating-system (OS) failure, power loss, and intentional or inadvertent client removal.
- the AMT allows the computer system 300 to remotely discover computing assets in multiple operational states.
- the computer system 300 stores hardware asset information, such as in FLASH memory, which may be read out even when the computer system 300 is powered off or has an inoperable OS.
- the AMT may also provide a general-purpose, non-volatile data store that accepts local or network-based storage commands to work with management or enterprise applications.
- the AMT may remotely heal computing assets so as to provide a proactive alert notification of a system problem, even in situations where the computer system 300 is powered off.
- the AMT provides Out-Of-Band (OOB) access to remotely diagnose, control, and repair the computer system 300 after software, OS, or hardware failures.
- OOB Out-Of-Band
- the AMT infrastructure may support the creation of setup and configuration interfaces for management applications, as well as network, security, and storage administration.
- the hardware architecture of computer system 300 may be resident in firmware, and may include a processing unit, such a processing unit 302 , a graphics and memory controller hub 308 , an I/O controller hub 314 and a Local Area Network (LAN) controller 324 .
- the processing unit 302 includes software agents 304 and code for an OS 306 .
- the graphics and memory controller hub 308 includes a micro-controller 310 , which stores and controls Management Engine (ME) 311 including firmware to implement various services on behalf of management applications.
- the computer system 300 further includes a FLASH memory 312 , which stores the system BIOS for computer system 300 .
- the system BIOS includes machine-readable code used by the ME, and a third-party data store (3PDS) that enables applications to store information as needed in non-volatile memory.
- PDS third-party data store
- the I/O controller hub 314 includes filters 316 , sensors 318 and Medium Access Control (MAC) layer controller 320 , which are used to interface with I/O ports and control communications with the computer system 300 .
- a LAN controller 324 is communicatively coupled to the I/O controller hub 314 , and includes OOB unit 326 and wired network interface 328 .
- Network interface 328 may be an Ethernet interface although this is not a requirement.
- a WLAN controller 325 is communicatively coupled to the I/O controller hub 314 , and includes OOB unit 330 and wireless network interface 332 .
- the computer system 300 includes multiple Double Data Rate (DDR) memory units, such as DDR 2 322 , to transfer data on rising and falling edges of a clock signal. Each DDR 2 322 is communicatively coupled to the graphics and memory controller hub 308 .
- DDR Double Data Rate
- the AMT functionality further enables management applications to access client computers in a variety of states by accessing the radio in a wireless Network Interface Card (NIC).
- NIC wireless Network Interface Card
- the NIC allows the computer system 300 to access a wireless network, such as wireless network 122 ( FIG. 1 ).
- FIG. 3 illustrates a portion of the computer system 300 , including the ME 311 , which in some embodiments, runs on auxiliary power and is available at multiple system power states.
- the ME 311 communicates with ME peripherals 440 , LAN, Direct Memory Access (DMA) and MAC controller 430 , and wireless interfaces 420 .
- Physical layer interface 450 may be coupled with DMA and MAC controller 430 .
- the ME peripherals may include a cryptographic engine, Non-Volatile Memory (NVM), and interfaces to various busses, such as a System-Management Bus (SMBus) or a Serial Peripheral Interface Bus (SPI) bus.
- SMBs System-Management Bus
- SPI Serial Peripheral Interface Bus
- the ME peripherals 440 communicates with FLASH memory 312 via a Serial Peripheral Interface (SPI) communication bus.
- SPI Serial Peripheral Interface
- the SPI communication bus allows multiple masters to share a single FLASH device, including use of the information stored in the FLASH memory 312 , including the BIOS code, firmware, 3PDS, and so forth.
- main memory 460 may be dedicated to execute ME code and store ME run-time data, such as in a manner similar to a Unified Memory Architecture (UMA), which allows a graphics processing unit to share a memory system, or other computer memory architecture enabling shared memory.
- UMA Unified Memory Architecture
- the ME 311 stores ME code in a compressed form in FLASH memory 312 , and therefore may be accessed without accessing a hard drive (not shown).
- the computer system 300 prevents access of the ME memory range by the processing unit 302 ( FIG. 2 ), thus adding security to avoid the ability of malicious software to access the ME code.
- the ME 311 can access its dedicated memory space even when the computer system 300 is in a powered down state.
- the graphics and memory controller hub 308 ( FIG. 2 ) may dynamically switch among various memory power states to allow ME access to FLASH memory 312 . This capability allows for low average power since the memory is ‘on’ only when it is to be used.
- ME 311 may also include various firmware and/or software for performing AMT applications 402 , administration (ADMIN) services 404 , core services 406 , management services 408 , and network services 410 .
- ME 311 may also include management engine hardware abstraction layer 412 and threadX kernel 414 .
- FIG. 4 illustrates an Active Management Technology (AMT) core hardware architecture resident in a computing device in accordance with example embodiments.
- Communication between the host OS 500 and the ME 311 may be accomplished by a Host Embedded Controller Interface (HECI).
- HECI Host Embedded Controller Interface
- the HECI defines a bi-directional communication protocol where either the host OS 500 or the network server 530 may initiate transactions.
- the network server 530 implements AMT firmware to initiate transactions.
- transactions may be completed asynchronously by the firmware, such as AMT firmware, and then synchronized later.
- the ME 311 may employ an external memory, such a memory storage device or system having a UMA type memory architecture.
- the external UMA memory 523 includes a main memory dedicated to execute ME code for ME 311 and to store ME run-time data for ME 311 .
- the use of the external UMA memory 523 may be similar to UMA memories employed in graphics applications.
- the external UMA memory 523 may include or be located adjacent to a graphics UMA memory space. In this way, the external UMA memory 523 may include an ME memory space and a graphics memory space. From the perspective of the host OS 500 , the graphics memory space may appear slightly larger than the ME memory space.
- the host OS 500 may include AMT firmware defined by an AMT server application 502 , an AMT client application 504 , and a routing application 506 .
- a protocol engine 508 controls communications and AMT processing, while a TCP/IP unit 510 controls Transmission Control Protocol (TCP) and Internet Protocol (IP) handling of communications.
- TCP operates at a high level and provides ordered delivery of data packets and information from source to destination. IP is used to package datagrams or packets from source to destination for communication in a packet-switched network.
- the suite of protocols for Internet use is referred to as TCP/IP.
- the protocol engine 508 may be designed to handle multiple protocols, such as Simple Object Access Protocol (SOAP), HyperText Transfer Protocol (HTTP) and Transparent LAN service (TLS).
- SOAP Simple Object Access Protocol
- HTTP HyperText Transfer Protocol
- TLS Transparent LAN service
- the SOAP protocol is a specification for exchanging structured information to implement web services.
- SOAP may rely on application layer protocols for process-to-process communications, such as Remote Procedure Call (RPC) or HTTP, for message negotiation and transmission.
- RPC Remote Procedure Call
- TLS is a service linking networks, such as remote Ethernet networks. TLS allows the connected networks to be viewed as one contiguous network from the user perspective.
- the host OS 500 includes a host HECI driver 514 as well as a LAN driver 512 and LAN hardware 516 .
- the host HECI driver 514 provides an interface for the HECI interface or HECI bus that allows the host OS 500 to communicate directly with the ME 311 .
- the bi-directional, variable data rate bus enables communication of system management information and events.
- the bus may be implemented with four wires, a request and grant pair along with a serial transmit and receive data pair.
- the LAN driver 512 and LAN hardware 516 provide an interface for the host OS 500 and the ME 311 .
- FIG. 4 further illustrates the ME 311 as including an AMT application 518 , a protocol engine 520 , a host HECI driver 522 , and a LAN driver 524 .
- the host HECI driver 522 operates in a complementary manner to the host HECI driver 514 , communicating over the HECI interface bus.
- the LAN driver 524 communicates with the LAN hardware 516 through a serial link such as an M-link.
- the host OS 500 further communicates with the network server 530 via a connection between LAN hardware 516 and LAN hardware 438 .
- the network server 530 also includes an AMT server application 432 , a protocol engine 434 , and a LAN driver 436 .
- the protocol engines 520 and 434 are similar to the protocol engine 508 , and may provide complementary functions.
- Message flow between a first client pair may continue without regard to the message flow between a separate client pair.
- Messages may be of various lengths, and may be subject to the limitations of the user's receive buffer (rather than limitations of the HECI drivers).
- the HECI drivers 514 and 522 may comprise software or firmware drivers, which break messages into packets to support lengthy messages.
- Flow control is communicated by HECI bus messages, and the HECI driver may wait to transmit a message until an associated client has a receive buffer ready to accept the data.
- a FLASH memory such as FLASH memory 312 ( FIG. 3 ), associated with AMT is shared by multiple masters (Host, ME, and LAN).
- the FLASH memory 312 is a non-volatile memory, wherein FLASH refers to the ability to electrically erase and program large blocks of the memory array at the same time.
- the FLASH memory 312 maintains information stored without requiring power.
- the FLASH protection scheme does not allow any master to perform a direct write to FLASH, and read/write permissions to each FLASH region are enforced in hardware.
- Each master has a grant Override register that can override its descriptor permissions, giving other masters access to the region they own.
- a security-override strap is used during initial manufacturing and service returns to program (or re-program) the FLASH memory 312 .
- FIG. 5 illustrates an example of a Network Interface Controller (NIC) 600 , which may be used in a system employing an AMT architecture.
- the NIC 600 implements an interface that is OS-independent.
- the NIC 600 includes an event manager 602 , an asset manager 604 , a store manager 606 and an administration unit 608 .
- the NIC 600 further includes a protocol engine 610 , which implements a SOAP-based application programming interface (API) consistent with a Web Services Description Language (WSDL).
- API SOAPI
- WSDL Web Services Description Language
- the NIC 600 also includes an HTTP unit 612 and a TCP/IP unit 614 .
- each service supported by the NIC 600 is provided by a distinct WSDL file.
- Security measures for the network interface may include the use of HTTP Digest, such as defined in Request For Comments (RFC) 2617, entitled “HTTP Authentication: Basic and Digest Access Authentication,” by J. Franks et al, dated June 1999, promulgated by the Internet Engineering Task Force, and authentication by username/password credentials.
- the NIC 600 also supports TLS-secured connections and mutual authentication.
- the NIC 600 includes an AMT certificate 616 and an administration unit 608 . As illustrated in FIG. 5 , the NIC 600 interfaces with the central server 126 including a web browser application 620 and a management application 622 .
- FIG. 6 is a block diagram illustrating a network configuration 700 including a central server 720 and a computing device 701 having access to a wireless network.
- the computing device 701 further includes a processor 703 controlling operation of the computing device 701 , including to run code, such as firmware or software, resident in the ME 708 and resident or received into the BIOS 710 .
- the computing device 701 has a firmware portion having a BIOS 710 , a PXE memory, such as PXE Option Read Only Memory (OPROM) 702 , a network interface 705 .
- the PXE OPROM 702 provides code to enable PXE for the computing device.
- the network interface 705 interacts with the ME 708 of Memory Controller Hub (MCH) 706 .
- MCH Memory Controller Hub
- the network interface in one example is an HECI API.
- the HECI API provides a software interface that is used to communicate to MCH 706 including an ME 708 so as to access AMT capabilities. Communication between the local host operating system (OS) and the ME 708 is accomplished by means of a HECI driver.
- the HECI function operates bi-directionally, as either the host OS or AMT firmware can initiate transactions.
- the computing device 701 operationally may boot up from the central server 720 or a wireless network.
- the ME 708 implements AMT functionality for the computing device.
- the ME 708 when an option is set to enable PXE and the wireless interface is set by the remote IT console to enable AMT, the ME 708 continues to have full control of the WLAN interface and connection even when the computing device 701 starts booting.
- the ME 708 may relinquish control of the WLAN interface after a PXE timeout or on receipt of HECI commands to de-initialize or shut down.
- the commands may be received from BIOS 710 or PXE OPROM 702 .
- the BIOS 710 or PXE OPROM 702 may directly use the network interface 705 , such as a HECI API, to communicate with the ME 708 to send and receive the network traffic over the WLAN (not shown in FIG. 6 ).
- the network interface 705 will serve as a proxy or virtual interface for the WLAN interface that is managed by the ME 708 .
- the ME 708 will have full control of the WLAN interface and authentication exchange until the time the system boots.
- the network interface is consistent with the HECI protocol, having commands given in Table I in accordance with some example embodiments.
- the HECI protocol includes call made to the ME to initiate AMT actions.
- HECI CALL DEFINITION HECI Signals the ME to initialize the WLAN interface, based INITIALIZE on Wi-Fi profile that is pre-provisioned and take control of the WLAN interface/connection.
- HECI Signals the ME to relinquish control of the WLAN DEINI- connection; this is where the wireless LAN connection TIALIZE is transitioned back to the host.
- HECI OPEN Signals the ME to open the WLAN interface.
- HECI CLOSE Signals the ME to close the WLAN interface.
- HECI TX Signals the ME to transmit a packet over the WLAN interface.
- HECI RX Signals the ME to call a receive packet handler when a packet is received over the WLAN interface (interrupt driven).
- HECI POLL This call polls the ME to find out if a packet has been received over the WLAN interface.
- FIG. 7 is a block diagram illustrating a network configuration 800 including a central server 820 and a computing device 801 having access to a wireless network.
- the computing device 801 includes a BIOS 810 , a PXE OPROM 802 , a UNDI (Universal Network Driver Interface) 803 and a network interface 804 .
- the UNDI 803 is defined in a PXE specification, and acts as the HECI wrapper.
- the BIOS 810 and the PXE OPROM 802 use the UNDI 803 to communicate with the ME 808 in order to send and receive network traffic over the WLAN (not shown).
- the network interface 805 interacts with the ME 808 of MCH 806 .
- the UNDI 803 internally uses the network interface 804 , such as defined in Table I to talk with the ME 808 .
- the UNDI 803 supports the AMT functionality while providing flexibility and ease of integration with a variety of technologies for implementing the PXE OPROM 802 .
- Table II defines the actions in operation of UNDI 803 in accordance with some example embodiments.
- UNDI STARTUP This is the UNDI API responsible for initializing the contents of the UNDI code and data segment for proper operation. Information from the PXE structure and the first PXENV_START_UNDI API call is used to complete this initialization. The rest of the UNDI APIs will not be available until this call has been completed.
- UNDI CLEANUP The call prepares the network adapter driver to be unloaded from memory. This call is made just before unloading a universal NIC Driver. The rest of the API is not available after this call executes.
- UNDI INITIALIZE This call resets the adapter (i.e., the NIC) and programs it with default parameters.
- the default parameters are those supplied in response to the most recent UNDI_STARTUP call.
- the application calls PXENV_UNDI_OPEN to logically connect the network adapter to the network. This call is made by an application to establish an interface to the network adapter driver. Note: When the PXE code makes this call to initialize the network adapter, it passes a NULL pointer for the Protocol field in the parameter structure UNDI RESET This call resets and reinitializes the network adapter with the same set ADAPTER of parameters supplied to Initialize Routine. Unlike Initialize, this call opens the adapter; that is, it connects logically to the network. This routine cannot be used to replace Initialize or Shutdown calls.
- UNDI This call resets the network adapter and leaves it in a safe state for SHUTDOWN another driver to program it. Note: The contents of the PXENV_UNDI_STARTUP parameter structure need to be saved by the universal NIC Driver in case PXENV_UNDI_INITIALIZE is called again.
- UNDI OPEN This call activates the adapter's network connection and sets the adapter ready to accept packets for transmitting and receiving.
- UNDI CLOSE This call disconnects the network adapter from the network. Packets cannot be transmitted or received until the network adapter is open again UNDI TRANSMIT This call transmits a buffer to the network. The media header for the PACKET packet can be filled by the calling protocol, but it might not be.
- the network adapter driver will fill it if required by the values in the parameter block.
- the packet is buffered for transmission provided there is an available buffer, and the function returns PXENV_EXIT_SUCCESS. If no buffer is available the function returns PXENV_EXIT_FAILURE with a status code of PXE_UNDI_STATUS_OUT OF_RESOURCE.
- the number of buffers is implementation-dependent.
- An interrupt is generated on completion of the transmission of one or more packets.
- a call to PXENV_UNDI_TRANSMIT is permitted in the context of a transmit complete interrupt UNDI ISR This API function will be called at different levels of processing the interrupt.
- the FuncFlag field in the parameter block indicates the operation to be performed for the call. This field is filled with the status of that operation on return.
- FIG. 8 illustrates a state diagram 900 including a method for operating a computing device having connection to a central server and to a wireless network.
- the computing device powers on and enters the null state 904 .
- On occurrence of various events transitions the computing device either to an active state 910 where the device downloads software and a system image to boot the computing device or to a passive state 902 where the device downloads software and a system image to boot the computing device.
- An uplink event for example, may be the detection of a connection to a network, such as an Ethernet network. In this way, when the computing device initially connects to the network, a connection is detected as an uplink event. Further while in the null state 904 , on an uplink event for the wireless network, the computing device transitions to the passive state 902 .
- the uplink event may be when the computing device detects the wireless network, or when the wireless capability of the computing device is turned on. Other uplink events may be implemented according to the computing environment and system configurations.
- the computing device transitions back to the null state 904 . Further, when authentication to the central server fails, such as when the central server implements an AMT mechanism and transitions to the passive state 902 , the computing device may also transition back to the null state 904 .
- the computing device transitions to the null state 904 .
- the computing device fails to authenticate on the wireless network host, the computing device then transitions to the active state 910 .
- FIG. 9 is a flowchart illustrating a method 1000 for managing booting up of an operating system in a computing device.
- the computing device powers on 1002 and enters a null mode 1003 , which corresponds to a pre-boot mode of an operating system for the computing device.
- decision point 1004 determines if the computing device has a network connection, such as an Ethernet connection.
- the computing device attempts to authenticate and connect on a central server.
- the computing device enters an active mode 1024 , else the computing device remains in null mode 1003 .
- the computing device loads software onto the computing device from the central server.
- the computing device receives the system image 1026 from the central server, and uses this information to boot up 1014 the computing device.
- the computing device receives an uplink event to the wireless network, which is referred to as a host server.
- an uplink event is processed 1006 and the computing device enters a passive mode 1010 in which the device will boot from the wireless network.
- the computing device receives 1012 system image information from the wireless network, and uses this information to boot 1014 the computing device. If the computing device fails to authenticate at decision point 1008 , the computing device remains in the null mode 1003 .
- Both embodiments involve the ME 708 ( FIG. 6) and 808 ( FIG. 8 ) relinquishing control of a NIC after the computing device has booted.
- the triggers used by ME 708 , 808 to relinquish control to the host OS after boot include a configurable timeout for the HECI processing or UNDI API triggers (e.g., calls to DEINITIALIZE or SHUTDOWN).
- a LAN such as LAN 120 shown in FIG. 1
- a WLAN such as the wireless network 122 also shown in FIG. 1
- connection to the LAN and the WLAN is mutually exclusive at this point. Processing may be based on the Set8021XPXEEnable interface used with a wired or a wireless interface.
- the PXE information stored in the computing device such as PXE OPROM 702 and 802 is used to support AMT and remote connections to the wireless network.
- API activities are performed to configure PXE support with AMT implementing a wireless network.
- the computing device issues a call to Set8021XPXEEnable_WLAN.
- the PXE timeout period is set to a default value of 120 seconds.
- the API sets the PXE_WLAN_Config_flag in the AMT firmware.
- the computing device then issues a call to Get8021XPXEEnable_WLAN
- the host booting procedures transitions according to and may be implemented using the following code:
- HECI API Trigger to ME HECI is uninstalled Make sure AMT goes in HECI DEINIT or UNDI SHUTDOWN or disabled in host OS image passive mode once PXE boot complete 2.
- Configurable PXE boot Makes sure AMT goes in timeout ⁇ > 120 seconds passive mode after timeout (default value) 3.
- PXE boot detection acc to PXE Faster timer Makes sure 2.1 spec (DHCP-PXE extension or AMT goes in passive mode TFTP packet)
- CB filter alert ⁇ > after timeout If PXE boot not detected for 30 seconds, AMT in passive mode
- a machine-readable medium is comprised of instructions, which when implemented by one or more machines, cause the one or more machines to receive a registration request from a service provider, store a set of information for the service provider in a memory storage unit, and transmit an indication of the service provider to at least one service consumer in the wireless communication network.
- a computing device includes one or more processing elements coupled with computer-readable memory that may be volatile or non-volatile memory or a combination thereof.
- Embodiments may be implemented in one or a combination of hardware, firmware, and software. Embodiments may also be implemented as instructions stored on a machine-readable medium, which may be read and executed by at least one processor to perform the operations described herein.
- a machine-readable medium may include any mechanism for storing or transmitting information in a form readable by a machine (e.g., a computer).
- a machine-readable medium may include, but is not limited to, FLASH memory, optical disks, Compact Disks-Read Only Memory (CD-ROM), Digital Versatile/Video Disks (DVD), Read Only Memory (ROM), Random Access Memory (RAM), Erasable Programmable Read-Only Memory (EPROM), Electrically Erasable Programmable Read-Only Memory (EEPROM), magnetic or optical cards, propagation media or other type of machine-readable media suitable for storing electronic instructions.
- FLASH memory optical disks
- CD-ROM Compact Disks-Read Only Memory
- DVD Digital Versatile/Video Disks
- ROM Read Only Memory
- RAM Random Access Memory
- EPROM Erasable Programmable Read-Only Memory
- EEPROM Electrically Erasable Programmable Read-Only Memory
- embodiments may be downloaded as a computer program, which may be transferred from a remote computer (e.g., a server) to a requesting computer (e.g., a client) by way of data signals embodied in a carrier wave or other propagation medium via a communication link (e.g., a modem or network connection).
- a remote computer e.g., a server
- a requesting computer e.g., a client
- a communication link e.g., a modem or network connection
Abstract
In some embodiments, a secure authenticated remote boot of computing device over a wireless network is performed in a pre-boot execution environment (PXE) using active management technology (AMT) for remote discovery. In these embodiments, a management engine (ME) may maintain full control of a wireless interface and a wireless connection as booting begins. The ME may relinquish control of the wireless interface after a PXE timeout, in response to a shutdown command, or once the device has booted. The ME controls the use of an operating system received from a remote location.
Description
- Some embodiments pertain to wireless devices. Some embodiments pertain to remote boots of computing devices.
- An operating system may use a variety of sources to boot up in various environments. Networked systems allow a computing device to receive start up information from a network server. A Basic Input/Output System (BIOS) defines a firmware interface which is the first code run by a computing device when powered on. The BIOS loads the operating system, identifies, tests and initializes system devices. The BIOS prepares the computing device to operate in a known state so that software may be loaded, executed and given control of the device.
- The state of a computing device is defined by a system image and is used by the BIOS. A computer system boots up by executing BIOS instructions that cause an operating system loader program to be loaded from a disk drive into system memory. The BIOS may then cause the computer system to execute the loader program that, in turn, causes the computer system to load portions of the operating system into the system memory. Subsequently, the operating system may execute one or more program(s) to initialize and start execution of the operating system.
- Many computing devices are wireless devices that include a wireless adapter card for communicating within a wireless network. Wireless adapter cards may not have sufficient memory storage to store operating code and driver codes used to support wireless networked functionality. Thus what is needed are computing devices and methods that provide for wireless remote boot in a networked environment.
-
FIG. 1 illustrates a computer system in accordance with some example embodiments. -
FIGS. 2-5 illustrate an Active Management Technology (AMT) core hardware architecture resident in a computing device in accordance with some example embodiments. -
FIGS. 6 and 7 illustrate configurations of a computer system in accordance with some example embodiments. -
FIG. 8 is a state diagram illustrating various states of the computer system in accordance with some example embodiments. -
FIG. 9 is a flow diagram illustrating methods for booting a computer system at power up, in accordance with some example embodiments. - The following description and the drawings sufficiently illustrate specific embodiments to enable those skilled in the art to practice them. Other embodiments may incorporate structural, logical, electrical, process, and other changes. Examples merely typify possible variations. Individual components and functions are optional unless explicitly required, and the sequence of operations may vary. Portions and features of some embodiments may be included in, or substituted for, those of other embodiments. Embodiments set forth in the claims encompass all available equivalents of those claims.
- The following details some embodiments of a method and apparatus for a wireless remote boot, such as an Operating System (OS) streaming method, in a networked environment having access to a wireless network. In example embodiments, the method and apparatus utilize existing software and firmware instructions (e.g., code), as well as apparatus to retrieve information that may be used to enable networked boot up from a wireless network for a remote computing device. Such techniques may be implemented without additional memory to the wireless cards that implement the wireless connectivity for the computing device, such as wireless-fidelity (Wi-Fi) cards. Existing wireless cards may not have sufficient memory to store operating instructions (e.g., code) and driver codes to support wireless networked functionality.
- Some embodiments leverage the central management functions of a central server to provide resources that allow wireless boot up of the computing device. By leveraging wireless network support built into a networked system, it is possible to allow a remote boot up from a wireless server without rebuilding the BIOS and other information used at boot up.
- In some embodiments, a secure authenticated remote boot of computing device over a wireless network is performed in a pre-boot execution environment (PXE) using active management technology (AMT) for remote discovery. In these embodiments, a management engine (ME) may maintain full control of a wireless interface and a wireless connection as booting begins. The ME may relinquish control of the wireless interface after a PXE timeout, in response to a shutdown command, or once the device has booted. The ME controls the use of an operating system received from a remote location. These embodiments are described in more detail below. In some embodiments, a host embedded controller interface (HECI) application programming interface (API) is used to communicate with the ME for communicating over the wireless connection, the HECI API to serve as a proxy for the wireless interface when managed by the ME. In some embodiments, a universal network driver interface (UNDI) is used as a host embedded controller interface (HECI) wrapper, the PXE to use the UNDI to communicate with the ME for communicating network traffic over the wireless connection. In some embodiments, the computing device is a wireless communication device configured to communicate in accordance with an IEEE 802.11 standard. In some embodiments, the computing device is a wireless communication device configured to communicate in accordance with an IEEE 802.16 standard. In some embodiments, the computing device is a wireless communication device configured to communicate in accordance with a 3GPP standard for long-term evolution (LTE).
-
FIG. 1 illustrates acomputer system 100, in accordance with example embodiments. Thecomputer system 100 includes access to awireless network 122, which may reside withincomputer system 100 or may be external. Thecomputer system 100 also includes a local area network (LAN) 120. Acentral server 126 may be an enterprise server, a central server for implementing control, updates, and other maintenance of one or more ofcomputing devices 124. Thecomputer system 100 is configured to implement a remote network boot up for thecomputing devices 124 using resources of thecentral server 126. Some embodiments implement a PXE, which allows aremote computing device 124, such as a workstation, to boot from a server on a network prior to booting the operating system on the local hard drive of thecomputing device 124. The PXE specifies a process to load software onto theremote computing device 124 from thecentral server 126. Implementation of the PXE involves support components in a BIOS and NIC of thecomputing device 124. The PXE operates to boot thecomputing device 124 from thecentral server 126 by transferring the boot image file from thecentral server 126. The PXE works with theLAN 120 and works with multiple OSs. -
FIG. 2 illustrates acomputer system 300 having an Active Management Technology (AMT) management mechanism for remote discovery, healing and protection of computer systems in accordance with some embodiments. In one embodiment,computer system 300 employs a silicon-resident AMT. The AMT provides the basis for software designs to address manageability issues, improve the efficiency of remote management and asset inventory functionality in third-party management software, safeguard functionality of agents from operating-system (OS) failure, power loss, and intentional or inadvertent client removal. The AMT allows thecomputer system 300 to remotely discover computing assets in multiple operational states. Thecomputer system 300 stores hardware asset information, such as in FLASH memory, which may be read out even when thecomputer system 300 is powered off or has an inoperable OS. The AMT may also provide a general-purpose, non-volatile data store that accepts local or network-based storage commands to work with management or enterprise applications. - Furthermore, the AMT may remotely heal computing assets so as to provide a proactive alert notification of a system problem, even in situations where the
computer system 300 is powered off. The AMT provides Out-Of-Band (OOB) access to remotely diagnose, control, and repair thecomputer system 300 after software, OS, or hardware failures. The AMT infrastructure may support the creation of setup and configuration interfaces for management applications, as well as network, security, and storage administration. - The hardware architecture of
computer system 300 may be resident in firmware, and may include a processing unit, such aprocessing unit 302, a graphics andmemory controller hub 308, an I/O controller hub 314 and a Local Area Network (LAN)controller 324. Theprocessing unit 302 includessoftware agents 304 and code for anOS 306. The graphics andmemory controller hub 308 includes amicro-controller 310, which stores and controls Management Engine (ME) 311 including firmware to implement various services on behalf of management applications. Thecomputer system 300 further includes aFLASH memory 312, which stores the system BIOS forcomputer system 300. The system BIOS includes machine-readable code used by the ME, and a third-party data store (3PDS) that enables applications to store information as needed in non-volatile memory. - The I/
O controller hub 314 includesfilters 316,sensors 318 and Medium Access Control (MAC)layer controller 320, which are used to interface with I/O ports and control communications with thecomputer system 300. ALAN controller 324 is communicatively coupled to the I/O controller hub 314, and includesOOB unit 326 and wirednetwork interface 328.Network interface 328 may be an Ethernet interface although this is not a requirement. AWLAN controller 325 is communicatively coupled to the I/O controller hub 314, and includesOOB unit 330 andwireless network interface 332. Thecomputer system 300 includes multiple Double Data Rate (DDR) memory units, such asDDR2 322, to transfer data on rising and falling edges of a clock signal. EachDDR2 322 is communicatively coupled to the graphics andmemory controller hub 308. - The AMT functionality further enables management applications to access client computers in a variety of states by accessing the radio in a wireless Network Interface Card (NIC). The NIC allows the
computer system 300 to access a wireless network, such as wireless network 122 (FIG. 1 ). -
FIG. 3 illustrates a portion of thecomputer system 300, including theME 311, which in some embodiments, runs on auxiliary power and is available at multiple system power states. TheME 311 communicates with MEperipherals 440, LAN, Direct Memory Access (DMA) andMAC controller 430, and wireless interfaces 420.Physical layer interface 450 may be coupled with DMA andMAC controller 430. The ME peripherals may include a cryptographic engine, Non-Volatile Memory (NVM), and interfaces to various busses, such as a System-Management Bus (SMBus) or a Serial Peripheral Interface Bus (SPI) bus. As illustrated, theME peripherals 440 communicates withFLASH memory 312 via a Serial Peripheral Interface (SPI) communication bus. The SPI communication bus allows multiple masters to share a single FLASH device, including use of the information stored in theFLASH memory 312, including the BIOS code, firmware, 3PDS, and so forth. - A specified amount of
main memory 460 may be dedicated to execute ME code and store ME run-time data, such as in a manner similar to a Unified Memory Architecture (UMA), which allows a graphics processing unit to share a memory system, or other computer memory architecture enabling shared memory. In some embodiments, theME 311 stores ME code in a compressed form inFLASH memory 312, and therefore may be accessed without accessing a hard drive (not shown). In such embodiments, thecomputer system 300 prevents access of the ME memory range by the processing unit 302 (FIG. 2 ), thus adding security to avoid the ability of malicious software to access the ME code. - The
ME 311 can access its dedicated memory space even when thecomputer system 300 is in a powered down state. The graphics and memory controller hub 308 (FIG. 2 ) may dynamically switch among various memory power states to allow ME access toFLASH memory 312. This capability allows for low average power since the memory is ‘on’ only when it is to be used. - As illustrated, ME 311 may also include various firmware and/or software for performing
AMT applications 402, administration (ADMIN)services 404,core services 406,management services 408, andnetwork services 410. ME 311 may also include management enginehardware abstraction layer 412 andthreadX kernel 414. -
FIG. 4 illustrates an Active Management Technology (AMT) core hardware architecture resident in a computing device in accordance with example embodiments. Communication between thehost OS 500 and theME 311 may be accomplished by a Host Embedded Controller Interface (HECI). The HECI defines a bi-directional communication protocol where either thehost OS 500 or thenetwork server 530 may initiate transactions. In one embodiment, thenetwork server 530 implements AMT firmware to initiate transactions. In some embodiments, transactions may be completed asynchronously by the firmware, such as AMT firmware, and then synchronized later. - The
ME 311 may employ an external memory, such a memory storage device or system having a UMA type memory architecture. Theexternal UMA memory 523 includes a main memory dedicated to execute ME code for ME 311 and to store ME run-time data for ME 311. The use of theexternal UMA memory 523 may be similar to UMA memories employed in graphics applications. In some examples, theexternal UMA memory 523 may include or be located adjacent to a graphics UMA memory space. In this way, theexternal UMA memory 523 may include an ME memory space and a graphics memory space. From the perspective of thehost OS 500, the graphics memory space may appear slightly larger than the ME memory space. - The
host OS 500 may include AMT firmware defined by anAMT server application 502, anAMT client application 504, and arouting application 506. Aprotocol engine 508 controls communications and AMT processing, while a TCP/IP unit 510 controls Transmission Control Protocol (TCP) and Internet Protocol (IP) handling of communications. TCP operates at a high level and provides ordered delivery of data packets and information from source to destination. IP is used to package datagrams or packets from source to destination for communication in a packet-switched network. The suite of protocols for Internet use is referred to as TCP/IP. Theprotocol engine 508 may be designed to handle multiple protocols, such as Simple Object Access Protocol (SOAP), HyperText Transfer Protocol (HTTP) and Transparent LAN service (TLS). The SOAP protocol is a specification for exchanging structured information to implement web services. SOAP may rely on application layer protocols for process-to-process communications, such as Remote Procedure Call (RPC) or HTTP, for message negotiation and transmission. TLS is a service linking networks, such as remote Ethernet networks. TLS allows the connected networks to be viewed as one contiguous network from the user perspective. - Additionally, the
host OS 500 includes ahost HECI driver 514 as well as aLAN driver 512 andLAN hardware 516. Thehost HECI driver 514 provides an interface for the HECI interface or HECI bus that allows thehost OS 500 to communicate directly with theME 311. The bi-directional, variable data rate bus enables communication of system management information and events. The bus may be implemented with four wires, a request and grant pair along with a serial transmit and receive data pair. TheLAN driver 512 andLAN hardware 516 provide an interface for thehost OS 500 and theME 311. -
FIG. 4 further illustrates theME 311 as including anAMT application 518, aprotocol engine 520, ahost HECI driver 522, and aLAN driver 524. Thehost HECI driver 522 operates in a complementary manner to thehost HECI driver 514, communicating over the HECI interface bus. TheLAN driver 524 communicates with theLAN hardware 516 through a serial link such as an M-link. - The
host OS 500 further communicates with thenetwork server 530 via a connection betweenLAN hardware 516 andLAN hardware 438. Thenetwork server 530 also includes anAMT server application 432, aprotocol engine 434, and aLAN driver 436. Theprotocol engines protocol engine 508, and may provide complementary functions. - Message flow between a first client pair may continue without regard to the message flow between a separate client pair. Messages may be of various lengths, and may be subject to the limitations of the user's receive buffer (rather than limitations of the HECI drivers). The
HECI drivers - A FLASH memory, such as FLASH memory 312 (
FIG. 3 ), associated with AMT is shared by multiple masters (Host, ME, and LAN). TheFLASH memory 312 is a non-volatile memory, wherein FLASH refers to the ability to electrically erase and program large blocks of the memory array at the same time. TheFLASH memory 312 maintains information stored without requiring power. The FLASH protection scheme does not allow any master to perform a direct write to FLASH, and read/write permissions to each FLASH region are enforced in hardware. Each master has a grant Override register that can override its descriptor permissions, giving other masters access to the region they own. A security-override strap is used during initial manufacturing and service returns to program (or re-program) theFLASH memory 312. -
FIG. 5 illustrates an example of a Network Interface Controller (NIC) 600, which may be used in a system employing an AMT architecture. TheNIC 600 implements an interface that is OS-independent. TheNIC 600 includes anevent manager 602, anasset manager 604, astore manager 606 and anadministration unit 608. TheNIC 600 further includes aprotocol engine 610, which implements a SOAP-based application programming interface (API) consistent with a Web Services Description Language (WSDL). TheNIC 600 also includes anHTTP unit 612 and a TCP/IP unit 614. In some embodiments, each service supported by theNIC 600 is provided by a distinct WSDL file. Security measures for the network interface may include the use of HTTP Digest, such as defined in Request For Comments (RFC) 2617, entitled “HTTP Authentication: Basic and Digest Access Authentication,” by J. Franks et al, dated June 1999, promulgated by the Internet Engineering Task Force, and authentication by username/password credentials. TheNIC 600 also supports TLS-secured connections and mutual authentication. TheNIC 600 includes anAMT certificate 616 and anadministration unit 608. As illustrated inFIG. 5 , theNIC 600 interfaces with thecentral server 126 including aweb browser application 620 and amanagement application 622. -
FIG. 6 is a block diagram illustrating anetwork configuration 700 including acentral server 720 and acomputing device 701 having access to a wireless network. Thecomputing device 701 further includes aprocessor 703 controlling operation of thecomputing device 701, including to run code, such as firmware or software, resident in theME 708 and resident or received into theBIOS 710. As illustrated, thecomputing device 701 has a firmware portion having aBIOS 710, a PXE memory, such as PXE Option Read Only Memory (OPROM) 702, anetwork interface 705. ThePXE OPROM 702 provides code to enable PXE for the computing device. Thenetwork interface 705 interacts with theME 708 of Memory Controller Hub (MCH) 706. - The network interface in one example is an HECI API. The HECI API provides a software interface that is used to communicate to
MCH 706 including anME 708 so as to access AMT capabilities. Communication between the local host operating system (OS) and theME 708 is accomplished by means of a HECI driver. The HECI function operates bi-directionally, as either the host OS or AMT firmware can initiate transactions. - The
computing device 701 operationally may boot up from thecentral server 720 or a wireless network. TheME 708 implements AMT functionality for the computing device. - According to an example embodiment, when an option is set to enable PXE and the wireless interface is set by the remote IT console to enable AMT, the
ME 708 continues to have full control of the WLAN interface and connection even when thecomputing device 701 starts booting. TheME 708 may relinquish control of the WLAN interface after a PXE timeout or on receipt of HECI commands to de-initialize or shut down. The commands may be received fromBIOS 710 orPXE OPROM 702. TheBIOS 710 orPXE OPROM 702 may directly use thenetwork interface 705, such as a HECI API, to communicate with theME 708 to send and receive the network traffic over the WLAN (not shown inFIG. 6 ). Thenetwork interface 705 will serve as a proxy or virtual interface for the WLAN interface that is managed by theME 708. TheME 708 will have full control of the WLAN interface and authentication exchange until the time the system boots. - In an example embodiment, the network interface is consistent with the HECI protocol, having commands given in Table I in accordance with some example embodiments. The HECI protocol includes call made to the ME to initiate AMT actions.
-
TABLE I HECI Protocol HECI CALL DEFINITION HECI Signals the ME to initialize the WLAN interface, based INITIALIZE on Wi-Fi profile that is pre-provisioned and take control of the WLAN interface/connection. HECI Signals the ME to relinquish control of the WLAN DEINI- connection; this is where the wireless LAN connection TIALIZE is transitioned back to the host. HECI OPEN Signals the ME to open the WLAN interface. HECI CLOSE Signals the ME to close the WLAN interface. HECI TX Signals the ME to transmit a packet over the WLAN interface. HECI RX Signals the ME to call a receive packet handler when a packet is received over the WLAN interface (interrupt driven). HECI POLL This call polls the ME to find out if a packet has been received over the WLAN interface. -
FIG. 7 is a block diagram illustrating anetwork configuration 800 including acentral server 820 and acomputing device 801 having access to a wireless network. In one example, thecomputing device 801 includes aBIOS 810, aPXE OPROM 802, a UNDI (Universal Network Driver Interface) 803 and anetwork interface 804. TheUNDI 803 is defined in a PXE specification, and acts as the HECI wrapper. TheBIOS 810 and thePXE OPROM 802 use theUNDI 803 to communicate with theME 808 in order to send and receive network traffic over the WLAN (not shown). The network interface 805 interacts with theME 808 ofMCH 806. TheUNDI 803 internally uses thenetwork interface 804, such as defined in Table I to talk with theME 808. TheUNDI 803 supports the AMT functionality while providing flexibility and ease of integration with a variety of technologies for implementing thePXE OPROM 802. Table II defines the actions in operation ofUNDI 803 in accordance with some example embodiments. -
TABLE II UNDI Protocol UNDI ACTION DESCRIPTION UNDI STARTUP This is the UNDI API responsible for initializing the contents of the UNDI code and data segment for proper operation. Information from the PXE structure and the first PXENV_START_UNDI API call is used to complete this initialization. The rest of the UNDI APIs will not be available until this call has been completed. UNDI CLEANUP The call prepares the network adapter driver to be unloaded from memory. This call is made just before unloading a universal NIC Driver. The rest of the API is not available after this call executes. UNDI INITIALIZE This call resets the adapter (i.e., the NIC) and programs it with default parameters. The default parameters are those supplied in response to the most recent UNDI_STARTUP call. The application calls PXENV_UNDI_OPEN to logically connect the network adapter to the network. This call is made by an application to establish an interface to the network adapter driver. Note: When the PXE code makes this call to initialize the network adapter, it passes a NULL pointer for the Protocol field in the parameter structure UNDI RESET This call resets and reinitializes the network adapter with the same set ADAPTER of parameters supplied to Initialize Routine. Unlike Initialize, this call opens the adapter; that is, it connects logically to the network. This routine cannot be used to replace Initialize or Shutdown calls. UNDI This call resets the network adapter and leaves it in a safe state for SHUTDOWN another driver to program it. Note: The contents of the PXENV_UNDI_STARTUP parameter structure need to be saved by the universal NIC Driver in case PXENV_UNDI_INITIALIZE is called again. UNDI OPEN This call activates the adapter's network connection and sets the adapter ready to accept packets for transmitting and receiving. UNDI CLOSE This call disconnects the network adapter from the network. Packets cannot be transmitted or received until the network adapter is open again UNDI TRANSMIT This call transmits a buffer to the network. The media header for the PACKET packet can be filled by the calling protocol, but it might not be. The network adapter driver will fill it if required by the values in the parameter block. The packet is buffered for transmission provided there is an available buffer, and the function returns PXENV_EXIT_SUCCESS. If no buffer is available the function returns PXENV_EXIT_FAILURE with a status code of PXE_UNDI_STATUS_OUT OF_RESOURCE. The number of buffers is implementation-dependent. An interrupt is generated on completion of the transmission of one or more packets. A call to PXENV_UNDI_TRANSMIT is permitted in the context of a transmit complete interrupt UNDI ISR This API function will be called at different levels of processing the interrupt. The FuncFlag field in the parameter block indicates the operation to be performed for the call. This field is filled with the status of that operation on return. -
FIG. 8 illustrates a state diagram 900 including a method for operating a computing device having connection to a central server and to a wireless network. As illustrated, the computing device powers on and enters thenull state 904. On occurrence of various events transitions the computing device either to anactive state 910 where the device downloads software and a system image to boot the computing device or to apassive state 902 where the device downloads software and a system image to boot the computing device. - From the
null state 904 on an uplink event for the central server on a networked connection, considered an uplink event, the computing device transitions to theactive state 910. An uplink event, for example, may be the detection of a connection to a network, such as an Ethernet network. In this way, when the computing device initially connects to the network, a connection is detected as an uplink event. Further while in thenull state 904, on an uplink event for the wireless network, the computing device transitions to thepassive state 902. The uplink event may be when the computing device detects the wireless network, or when the wireless capability of the computing device is turned on. Other uplink events may be implemented according to the computing environment and system configurations. - From the
active state 910, on a link down event, the computing device transitions back to thenull state 904. Further, when authentication to the central server fails, such as when the central server implements an AMT mechanism and transitions to thepassive state 902, the computing device may also transition back to thenull state 904. - From the
passive state 902, on a link down event the computing device transitions to thenull state 904. When the computing device fails to authenticate on the wireless network host, the computing device then transitions to theactive state 910. -
FIG. 9 is a flowchart illustrating amethod 1000 for managing booting up of an operating system in a computing device. The computing device powers on 1002 and enters anull mode 1003, which corresponds to a pre-boot mode of an operating system for the computing device. Atdecision point 1004 determines if the computing device has a network connection, such as an Ethernet connection. For a network connection, on anuplink event 1020, the computing device attempts to authenticate and connect on a central server. When the computing device authenticates 1022 on the Network connection the computing device enters anactive mode 1024, else the computing device remains innull mode 1003. In theactive mode 1024, the computing device loads software onto the computing device from the central server. The computing device receives thesystem image 1026 from the central server, and uses this information to boot up 1014 the computing device. - Returning to
decision point 1004, when a network connection is not available, the computing device receives an uplink event to the wireless network, which is referred to as a host server. Atdecision point 1008, when the computing device authenticates on the wireless network, an uplink event is processed 1006 and the computing device enters apassive mode 1010 in which the device will boot from the wireless network. The computing device receives 1012 system image information from the wireless network, and uses this information toboot 1014 the computing device. If the computing device fails to authenticate atdecision point 1008, the computing device remains in thenull mode 1003. - Both embodiments involve the ME 708 (
FIG. 6) and 808 (FIG. 8 ) relinquishing control of a NIC after the computing device has booted. The triggers used by ME 708, 808 to relinquish control to the host OS after boot include a configurable timeout for the HECI processing or UNDI API triggers (e.g., calls to DEINITIALIZE or SHUTDOWN). When the platform of the computing device is connected to both a LAN, such asLAN 120 shown inFIG. 1 , and a WLAN, such as thewireless network 122 also shown inFIG. 1 , one of the networks will be used for PXE boot. In some embodiments, connection to the LAN and the WLAN is mutually exclusive at this point. Processing may be based on the Set8021XPXEEnable interface used with a wired or a wireless interface. - In an example embodiment, the PXE information stored in the computing device, such as
PXE OPROM -
If (PXE_WLAN_Config _flag && !(PXE_boot_complete)) { AMT continues in active mode until the remote boot is completed. }
Then on an uplink/downlink event: -
If (PXE_WLAN_Config_flag && !(PXE_boot_complete)) { On link-up, AMT re-authenticates for wireless communications until PXE boot complete, }
PXE boot completes on detection of any of the PXE features of Table III, i.e., HECI trigger, 802.1x/EAP packets, or PXE timeout. In response the computing device sets PXE_boot_complete flag in the AMT firmware. -
TABLE III PXE Features PXE Algorithm Feature Vulnerability Security 1 . HECI API Trigger to ME −> HECI is uninstalled Make sure AMT goes in HECI DEINIT or UNDI SHUTDOWN or disabled in host OS image passive mode once PXE boot complete 2. Configurable PXE boot Makes sure AMT goes in timeout −> 120 seconds passive mode after timeout (default value) 3. PXE boot detection acc to PXE Faster timer, Makes sure 2.1 spec (DHCP-PXE extension or AMT goes in passive mode TFTP packet) CB filter alert −> after timeout If PXE boot not detected for 30 seconds, AMT in passive mode - In some embodiments, a machine-readable medium is comprised of instructions, which when implemented by one or more machines, cause the one or more machines to receive a registration request from a service provider, store a set of information for the service provider in a memory storage unit, and transmit an indication of the service provider to at least one service consumer in the wireless communication network.
- Unless specifically stated otherwise, terms such as “processing,” “computing,” “calculating,” “determining,” “displaying,” or the like, may refer to an action and/or process of one or more processing or computer systems or similar devices that may manipulate and transform data represented as physical (e.g., electronic) quantities within a processing system's registers and memory into other data similarly represented as physical quantities within the processing system's registers or memories, or other such information storage, transmission or display devices. Furthermore, as used herein, a computing device includes one or more processing elements coupled with computer-readable memory that may be volatile or non-volatile memory or a combination thereof.
- Embodiments may be implemented in one or a combination of hardware, firmware, and software. Embodiments may also be implemented as instructions stored on a machine-readable medium, which may be read and executed by at least one processor to perform the operations described herein. A machine-readable medium may include any mechanism for storing or transmitting information in a form readable by a machine (e.g., a computer). A machine-readable medium may include, but is not limited to, FLASH memory, optical disks, Compact Disks-Read Only Memory (CD-ROM), Digital Versatile/Video Disks (DVD), Read Only Memory (ROM), Random Access Memory (RAM), Erasable Programmable Read-Only Memory (EPROM), Electrically Erasable Programmable Read-Only Memory (EEPROM), magnetic or optical cards, propagation media or other type of machine-readable media suitable for storing electronic instructions. For example, embodiments may be downloaded as a computer program, which may be transferred from a remote computer (e.g., a server) to a requesting computer (e.g., a client) by way of data signals embodied in a carrier wave or other propagation medium via a communication link (e.g., a modem or network connection).
- It should be appreciated that reference throughout this specification to “one embodiment” or “an embodiment” means that a particular feature, structure or characteristic described in connection with the embodiment is included in at least one embodiment. Therefore, it should be appreciated that two or more references to “an embodiment” or “one embodiment” or “an alternative embodiment” in various portions of this specification are not necessarily all referring to the same embodiment. Furthermore, the particular features, structures or characteristics may be combined as suitable in one or more embodiments.
- Similarly, it should be appreciated that in the foregoing description of embodiments, various features are sometimes grouped together in a single embodiment, figure, or description thereof for the purpose of streamlining the disclosure, in order to aid in the understanding of one or more of the various inventive aspects. This method of disclosure, however, is not to be interpreted as reflecting an intention that the claimed subject matter requires more features than are expressly recited in each claim. Rather, as the following claims reflect, inventive aspects lie in less than all features of a single foregoing disclosed embodiment. Thus, the claims following the detailed description are hereby expressly incorporated into this detailed description, with each claim standing on its own as a separate embodiment of this invention.
- Having disclosed embodiments and the best mode, modifications and variations may be made to the disclosed embodiments while remaining within the scope of the embodiments as defined by the following claims.
- The Abstract is provided to comply with 37 C.F.R. Section 1.72(b) requiring an abstract that will allow the reader to ascertain the nature and gist of the technical disclosure. It is submitted with the understanding that it will not be used to limit or interpret the scope or meaning of the claims. The following claims are hereby incorporated into the detailed description, with each claim standing on its own as a separate embodiment.
Claims (19)
1. A method for operating a computing device, the method comprising:
detecting a wireless network for connection;
initiating a communicative connection between the computing device and the wireless network;
authenticating the computing device on the wireless network;
receiving code to run on the computing device from the wireless network; and
loading an operating system on the computing device using the code.
2. The method of claim 1 , wherein receiving the code further comprises receiving a first system image from the wireless network.
3. The method of claim 2 , further comprising:
identifying computing device components;
testing the computing device components; and
initializing the computing device components.
4. The method of claim 1 , wherein initiating the communicative connection between the computing device and the wireless network is performed in response to receiving an uplink event from the wireless network.
5. The method of claim 4 , further comprising:
detecting a failure of the communicative connection between the computing device and the wireless network;
detecting a network connection to a server;
receiving a uplink event for the server; and
receiving a second system image from the server.
6. The method of claim 1 , further comprising booting the operating system on the computing device using a first system image.
7. The method of claim 1 , wherein the code includes a Basic Input/Output System (BIOS) set of instructions and data.
8. The method of claim 1 , wherein the computing device is a wireless communication device includes a network interface controller.
9. An apparatus, comprising:
a memory storage device to store a set of computer-readable instructions to load an operating system on the apparatus;
a communication module to receive data packet communications including the set of computer-readable instructions from a wireless communication network; and
a pre-boot execution unit including information for storing information used to load the operating system received from a remote source; and
a Management Engine (ME) to implement management functions for the apparatus within a network, the ME to control use of the operating system received from a remote location and as specified in the set of computer-readable instructions.
10. The apparatus of claim 9 , further comprising a processor to execute at least a portion of a set of computer-readable instructions.
11. The apparatus of claim 10 , wherein the ME is further to implement an Active Management Technology (AMT) function.
12. The apparatus of claim 11 , further comprising:
a network interface unit; and
a Universal Network Device Interface (UNDI) communicatively coupled to the network interface.
13. The apparatus of claim 9 , further comprising a pre-boot execution unit including a set of computer-readable instructions for downloading the operating system.
14. A method for performing a secure authenticated remote boot of a computing device over a wireless network in a pre-boot execution environment (PXE) using active management technology (AMT) for remote discovery, the method comprising:
maintaining full control by a management engine (ME) of a wireless interface and a wireless connection as booting begins; and
relinquishing control of the wireless interface by the ME after a PXE timeout, in response to a shutdown command, or once the device has booted,
wherein the ME is to control use of an operating system received from a remote location.
15. The method of claim 14 , further comprising using a host embedded controller interface (HECI) application programming interface (API) to communicate with the ME for communicating over the wireless connection, the HECI API to serve as a proxy for the wireless interface when managed by the ME.
16. The method of claim 14 , further comprising using a universal network driver interface (UNDI) as a host embedded controller interface (HECI) wrapper, the PXE to use the UNDI to communicate with the ME for communicating network traffic over the wireless connection.
17. The method of claim 14 , wherein the computing device is a wireless communication device configured to communicate in accordance with an IEEE 802.11 standard.
18. The method of claim 14 , wherein the computing device is a wireless communication device configured to communicate in accordance with an IEEE 802.16 standard.
19. The method of claim 14 , wherein the computing device is a wireless communication device configured to communicate in accordance with a 3GPP standard for long-term evolution (LTE).
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12/623,555 US20110125990A1 (en) | 2009-11-23 | 2009-11-23 | Computing device and method for wireless remote boot in a networked environment |
US14/060,289 US8938610B2 (en) | 2009-11-23 | 2013-10-22 | Computing device and method for wireless remote boot in a networked environment |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12/623,555 US20110125990A1 (en) | 2009-11-23 | 2009-11-23 | Computing device and method for wireless remote boot in a networked environment |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US14/060,289 Division US8938610B2 (en) | 2009-11-23 | 2013-10-22 | Computing device and method for wireless remote boot in a networked environment |
Publications (1)
Publication Number | Publication Date |
---|---|
US20110125990A1 true US20110125990A1 (en) | 2011-05-26 |
Family
ID=44062946
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US12/623,555 Abandoned US20110125990A1 (en) | 2009-11-23 | 2009-11-23 | Computing device and method for wireless remote boot in a networked environment |
US14/060,289 Expired - Fee Related US8938610B2 (en) | 2009-11-23 | 2013-10-22 | Computing device and method for wireless remote boot in a networked environment |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US14/060,289 Expired - Fee Related US8938610B2 (en) | 2009-11-23 | 2013-10-22 | Computing device and method for wireless remote boot in a networked environment |
Country Status (1)
Country | Link |
---|---|
US (2) | US20110125990A1 (en) |
Cited By (36)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140003145A1 (en) * | 2012-06-29 | 2014-01-02 | Jason B. Akers | Architectures and techniques for providing low-power storage mechanisms |
US8707402B1 (en) * | 2011-06-22 | 2014-04-22 | Amazon Technologies, Inc. | Secure computer provisioning |
US8745730B1 (en) | 2011-09-13 | 2014-06-03 | Amazon Technologies, Inc. | Secure computer provisioning and operation |
US20140189127A1 (en) * | 2012-12-27 | 2014-07-03 | Anjaneya Reddy Chagam | Reservation and execution image writing of native computing devices |
US8861277B1 (en) * | 2012-06-26 | 2014-10-14 | Inphi Corporation | Method of using non-volatile memories for on-DIMM memory address list storage |
US8874703B1 (en) | 2011-09-20 | 2014-10-28 | Amazon Technologies, Inc. | System and method of selectively implementing network configurations |
US8879348B2 (en) | 2011-07-26 | 2014-11-04 | Inphi Corporation | Power management in semiconductor memory system |
US8938610B2 (en) | 2009-11-23 | 2015-01-20 | Intel Corporation | Computing device and method for wireless remote boot in a networked environment |
US20150089022A1 (en) * | 2013-09-24 | 2015-03-26 | Clearcube Technology, Inc. | Computer System Image Clustering Architecture and Use |
US9053009B2 (en) | 2009-11-03 | 2015-06-09 | Inphi Corporation | High throughput flash memory system |
US9064117B1 (en) | 2011-09-20 | 2015-06-23 | Amazon Technologies, Inc. | Mobile provisioning device |
US9069717B1 (en) | 2012-03-06 | 2015-06-30 | Inphi Corporation | Memory parametric improvements |
US9158726B2 (en) | 2011-12-16 | 2015-10-13 | Inphi Corporation | Self terminated dynamic random access memory |
US9170878B2 (en) | 2011-04-11 | 2015-10-27 | Inphi Corporation | Memory buffer with data scrambling and error correction |
US9185823B2 (en) | 2012-02-16 | 2015-11-10 | Inphi Corporation | Hybrid memory blade |
US9191275B1 (en) * | 2011-06-22 | 2015-11-17 | Amazon Technologies, Inc. | Global computer provisioning |
US9258155B1 (en) | 2012-10-16 | 2016-02-09 | Inphi Corporation | Pam data communication with reflection cancellation |
US9325419B1 (en) | 2014-11-07 | 2016-04-26 | Inphi Corporation | Wavelength control of two-channel DEMUX/MUX in silicon photonics |
US20160248770A1 (en) * | 2013-11-25 | 2016-08-25 | At&T Intellectual Property I, L.P. | Networked device access control |
US9461677B1 (en) | 2015-01-08 | 2016-10-04 | Inphi Corporation | Local phase correction |
US9473090B2 (en) | 2014-11-21 | 2016-10-18 | Inphi Corporation | Trans-impedance amplifier with replica gain control |
US9484960B1 (en) | 2015-01-21 | 2016-11-01 | Inphi Corporation | Reconfigurable FEC |
US9547129B1 (en) | 2015-01-21 | 2017-01-17 | Inphi Corporation | Fiber coupler for silicon photonics |
US9548726B1 (en) | 2015-02-13 | 2017-01-17 | Inphi Corporation | Slew-rate control and waveshape adjusted drivers for improving signal integrity on multi-loads transmission line interconnects |
US9553689B2 (en) | 2014-12-12 | 2017-01-24 | Inphi Corporation | Temperature insensitive DEMUX/MUX in silicon photonics |
US9553670B2 (en) | 2014-03-03 | 2017-01-24 | Inphi Corporation | Optical module |
US9632390B1 (en) | 2015-03-06 | 2017-04-25 | Inphi Corporation | Balanced Mach-Zehnder modulator |
CN107247596A (en) * | 2017-06-22 | 2017-10-13 | 联想(北京)有限公司 | Starting-up method, device and electronic equipment |
US9847839B2 (en) | 2016-03-04 | 2017-12-19 | Inphi Corporation | PAM4 transceivers for high-speed communication |
US9874800B2 (en) | 2014-08-28 | 2018-01-23 | Inphi Corporation | MZM linear driver for silicon photonics device characterized as two-channel wavelength combiner and locker |
US10185499B1 (en) | 2014-01-07 | 2019-01-22 | Rambus Inc. | Near-memory compute module |
US10678592B2 (en) * | 2015-03-27 | 2020-06-09 | Yokogawa Electric Corporation | Process control system |
WO2020119139A1 (en) * | 2018-12-14 | 2020-06-18 | 广东浪潮大数据研究有限公司 | Method for enabling and disabling pxe function of pch 10-gigabit ethernet, and related device |
US10896047B2 (en) * | 2015-12-28 | 2021-01-19 | Hewlett-Packard Development Company, L.P. | Booting a computer using a wireless network connection |
US11726820B2 (en) * | 2019-05-03 | 2023-08-15 | EMC IP Holding Company, LLC | Peeking and polling storage management system and method |
CN116880759A (en) * | 2023-07-13 | 2023-10-13 | 北京大禹智芯科技有限公司 | NVMe system based on DPU and starting method thereof |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8955075B2 (en) | 2012-12-23 | 2015-02-10 | Mcafee Inc | Hardware-based device authentication |
WO2016159935A1 (en) * | 2015-03-27 | 2016-10-06 | Intel Corporation | Dynamic configuration of input/output controller access lanes |
US11068598B2 (en) * | 2018-11-01 | 2021-07-20 | Dell Products L.P. | Chassis internal device security |
DK3703390T3 (en) | 2019-02-27 | 2024-02-05 | Sonova Ag | DISTRIBUTION OF SOFTWARE BETWEEN HEARING DEVICES |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030200428A1 (en) * | 2002-04-19 | 2003-10-23 | Sen-Ta Chan | Method and system for booting a client computer system over a network |
US7406591B2 (en) * | 2004-06-29 | 2008-07-29 | Intel Corporation | Booting from a remote BIOS image |
US20090249120A1 (en) * | 2008-03-27 | 2009-10-01 | Jiewen Yao | Remote firmware recovery |
US20090276620A1 (en) * | 2008-05-02 | 2009-11-05 | Microsoft Corporation | Client authentication during network boot |
US20100268928A1 (en) * | 2009-04-21 | 2010-10-21 | Lan Wang | Disabling a feature that prevents access to persistent secondary storage |
US20100306359A1 (en) * | 2009-05-29 | 2010-12-02 | Dehaan Michael Paul | Systems and methods for management of mainframe resources in pre-boot environment |
US7917743B2 (en) * | 2007-11-14 | 2011-03-29 | Dell Products L.P. | System and method for a remote information handling system boot |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9178884B2 (en) * | 2007-09-07 | 2015-11-03 | Intel Corporation | Enabling access to remote entities in access controlled networks |
US20090129597A1 (en) * | 2007-11-21 | 2009-05-21 | Zimmer Vincent J | Remote provisioning utilizing device identifier |
US20110125990A1 (en) | 2009-11-23 | 2011-05-26 | Hormuzd Khosravi | Computing device and method for wireless remote boot in a networked environment |
-
2009
- 2009-11-23 US US12/623,555 patent/US20110125990A1/en not_active Abandoned
-
2013
- 2013-10-22 US US14/060,289 patent/US8938610B2/en not_active Expired - Fee Related
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030200428A1 (en) * | 2002-04-19 | 2003-10-23 | Sen-Ta Chan | Method and system for booting a client computer system over a network |
US7406591B2 (en) * | 2004-06-29 | 2008-07-29 | Intel Corporation | Booting from a remote BIOS image |
US7917743B2 (en) * | 2007-11-14 | 2011-03-29 | Dell Products L.P. | System and method for a remote information handling system boot |
US20090249120A1 (en) * | 2008-03-27 | 2009-10-01 | Jiewen Yao | Remote firmware recovery |
US7865775B2 (en) * | 2008-03-27 | 2011-01-04 | Intel Corporation | Remote firmware recovery |
US20090276620A1 (en) * | 2008-05-02 | 2009-11-05 | Microsoft Corporation | Client authentication during network boot |
US20100268928A1 (en) * | 2009-04-21 | 2010-10-21 | Lan Wang | Disabling a feature that prevents access to persistent secondary storage |
US20100306359A1 (en) * | 2009-05-29 | 2010-12-02 | Dehaan Michael Paul | Systems and methods for management of mainframe resources in pre-boot environment |
Cited By (72)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9053009B2 (en) | 2009-11-03 | 2015-06-09 | Inphi Corporation | High throughput flash memory system |
US8938610B2 (en) | 2009-11-23 | 2015-01-20 | Intel Corporation | Computing device and method for wireless remote boot in a networked environment |
US9972369B2 (en) | 2011-04-11 | 2018-05-15 | Rambus Inc. | Memory buffer with data scrambling and error correction |
US9170878B2 (en) | 2011-04-11 | 2015-10-27 | Inphi Corporation | Memory buffer with data scrambling and error correction |
US8707402B1 (en) * | 2011-06-22 | 2014-04-22 | Amazon Technologies, Inc. | Secure computer provisioning |
US9191275B1 (en) * | 2011-06-22 | 2015-11-17 | Amazon Technologies, Inc. | Global computer provisioning |
US8879348B2 (en) | 2011-07-26 | 2014-11-04 | Inphi Corporation | Power management in semiconductor memory system |
US8745730B1 (en) | 2011-09-13 | 2014-06-03 | Amazon Technologies, Inc. | Secure computer provisioning and operation |
US8874703B1 (en) | 2011-09-20 | 2014-10-28 | Amazon Technologies, Inc. | System and method of selectively implementing network configurations |
US9064117B1 (en) | 2011-09-20 | 2015-06-23 | Amazon Technologies, Inc. | Mobile provisioning device |
US9158726B2 (en) | 2011-12-16 | 2015-10-13 | Inphi Corporation | Self terminated dynamic random access memory |
US9323712B2 (en) | 2012-02-16 | 2016-04-26 | Inphi Corporation | Hybrid memory blade |
US9547610B2 (en) | 2012-02-16 | 2017-01-17 | Inphi Corporation | Hybrid memory blade |
US9185823B2 (en) | 2012-02-16 | 2015-11-10 | Inphi Corporation | Hybrid memory blade |
US9069717B1 (en) | 2012-03-06 | 2015-06-30 | Inphi Corporation | Memory parametric improvements |
US9230635B1 (en) | 2012-03-06 | 2016-01-05 | Inphi Corporation | Memory parametric improvements |
US8861277B1 (en) * | 2012-06-26 | 2014-10-14 | Inphi Corporation | Method of using non-volatile memories for on-DIMM memory address list storage |
US9240248B2 (en) | 2012-06-26 | 2016-01-19 | Inphi Corporation | Method of using non-volatile memories for on-DIMM memory address list storage |
US20140003145A1 (en) * | 2012-06-29 | 2014-01-02 | Jason B. Akers | Architectures and techniques for providing low-power storage mechanisms |
US9530461B2 (en) * | 2012-06-29 | 2016-12-27 | Intel Corporation | Architectures and techniques for providing low-power storage mechanisms |
US10248343B2 (en) | 2012-06-29 | 2019-04-02 | Intel Corporation | Architectures and techniques for providing low-power storage mechanisms |
US9819521B2 (en) | 2012-09-11 | 2017-11-14 | Inphi Corporation | PAM data communication with reflection cancellation |
US9654311B2 (en) | 2012-09-11 | 2017-05-16 | Inphi Corporation | PAM data communication with reflection cancellation |
US9258155B1 (en) | 2012-10-16 | 2016-02-09 | Inphi Corporation | Pam data communication with reflection cancellation |
US9485058B2 (en) | 2012-10-16 | 2016-11-01 | Inphi Corporation | PAM data communication with reflection cancellation |
US20140189127A1 (en) * | 2012-12-27 | 2014-07-03 | Anjaneya Reddy Chagam | Reservation and execution image writing of native computing devices |
US9537949B2 (en) * | 2013-09-24 | 2017-01-03 | Clearcube Technology, Inc. | Computer system image clustering architecture and use |
US20150089022A1 (en) * | 2013-09-24 | 2015-03-26 | Clearcube Technology, Inc. | Computer System Image Clustering Architecture and Use |
US20160248770A1 (en) * | 2013-11-25 | 2016-08-25 | At&T Intellectual Property I, L.P. | Networked device access control |
US10097543B2 (en) * | 2013-11-25 | 2018-10-09 | At&T Intellectual Property I, L.P. | Networked device access control |
US10185499B1 (en) | 2014-01-07 | 2019-01-22 | Rambus Inc. | Near-memory compute module |
US11483089B2 (en) | 2014-03-03 | 2022-10-25 | Marvell Asia Pte Ltd. | Optical module |
US10355804B2 (en) | 2014-03-03 | 2019-07-16 | Inphi Corporation | Optical module |
US9553670B2 (en) | 2014-03-03 | 2017-01-24 | Inphi Corporation | Optical module |
US10050736B2 (en) | 2014-03-03 | 2018-08-14 | Inphi Corporation | Optical module |
US10630414B2 (en) | 2014-03-03 | 2020-04-21 | Inphi Corporation | Optical module |
US10749622B2 (en) | 2014-03-03 | 2020-08-18 | Inphi Corporation | Optical module |
US10951343B2 (en) | 2014-03-03 | 2021-03-16 | Inphi Corporation | Optical module |
US9787423B2 (en) | 2014-03-03 | 2017-10-10 | Inphi Corporation | Optical module |
US9874800B2 (en) | 2014-08-28 | 2018-01-23 | Inphi Corporation | MZM linear driver for silicon photonics device characterized as two-channel wavelength combiner and locker |
US9641255B1 (en) | 2014-11-07 | 2017-05-02 | Inphi Corporation | Wavelength control of two-channel DEMUX/MUX in silicon photonics |
US9325419B1 (en) | 2014-11-07 | 2016-04-26 | Inphi Corporation | Wavelength control of two-channel DEMUX/MUX in silicon photonics |
US9548816B2 (en) | 2014-11-07 | 2017-01-17 | Inphi Corporation | Wavelength control of two-channel DEMUX/MUX in silicon photonics |
US9473090B2 (en) | 2014-11-21 | 2016-10-18 | Inphi Corporation | Trans-impedance amplifier with replica gain control |
US9716480B2 (en) | 2014-11-21 | 2017-07-25 | Inphi Corporation | Trans-impedance amplifier with replica gain control |
US9553689B2 (en) | 2014-12-12 | 2017-01-24 | Inphi Corporation | Temperature insensitive DEMUX/MUX in silicon photonics |
US9829640B2 (en) | 2014-12-12 | 2017-11-28 | Inphi Corporation | Temperature insensitive DEMUX/MUX in silicon photonics |
US9461677B1 (en) | 2015-01-08 | 2016-10-04 | Inphi Corporation | Local phase correction |
US10043756B2 (en) | 2015-01-08 | 2018-08-07 | Inphi Corporation | Local phase correction |
US9547129B1 (en) | 2015-01-21 | 2017-01-17 | Inphi Corporation | Fiber coupler for silicon photonics |
US9958614B2 (en) | 2015-01-21 | 2018-05-01 | Inphi Corporation | Fiber coupler for silicon photonics |
US10651874B2 (en) | 2015-01-21 | 2020-05-12 | Inphi Corporation | Reconfigurable FEC |
US10133004B2 (en) | 2015-01-21 | 2018-11-20 | Inphi Corporation | Fiber coupler for silicon photonics |
US10158379B2 (en) | 2015-01-21 | 2018-12-18 | Inphi Corporation | Reconfigurable FEC |
US9484960B1 (en) | 2015-01-21 | 2016-11-01 | Inphi Corporation | Reconfigurable FEC |
US9823420B2 (en) | 2015-01-21 | 2017-11-21 | Inphi Corporation | Fiber coupler for silicon photonics |
US11265025B2 (en) | 2015-01-21 | 2022-03-01 | Marvell Asia Pte Ltd. | Reconfigurable FEC |
US9548726B1 (en) | 2015-02-13 | 2017-01-17 | Inphi Corporation | Slew-rate control and waveshape adjusted drivers for improving signal integrity on multi-loads transmission line interconnects |
US9632390B1 (en) | 2015-03-06 | 2017-04-25 | Inphi Corporation | Balanced Mach-Zehnder modulator |
US9846347B2 (en) | 2015-03-06 | 2017-12-19 | Inphi Corporation | Balanced Mach-Zehnder modulator |
US10120259B2 (en) | 2015-03-06 | 2018-11-06 | Inphi Corporation | Balanced Mach-Zehnder modulator |
US10678592B2 (en) * | 2015-03-27 | 2020-06-09 | Yokogawa Electric Corporation | Process control system |
US10896047B2 (en) * | 2015-12-28 | 2021-01-19 | Hewlett-Packard Development Company, L.P. | Booting a computer using a wireless network connection |
US10218444B2 (en) | 2016-03-04 | 2019-02-26 | Inphi Corporation | PAM4 transceivers for high-speed communication |
US10523328B2 (en) | 2016-03-04 | 2019-12-31 | Inphi Corporation | PAM4 transceivers for high-speed communication |
US10951318B2 (en) | 2016-03-04 | 2021-03-16 | Inphi Corporation | PAM4 transceivers for high-speed communication |
US11431416B2 (en) | 2016-03-04 | 2022-08-30 | Marvell Asia Pte Ltd. | PAM4 transceivers for high-speed communication |
US9847839B2 (en) | 2016-03-04 | 2017-12-19 | Inphi Corporation | PAM4 transceivers for high-speed communication |
CN107247596A (en) * | 2017-06-22 | 2017-10-13 | 联想(北京)有限公司 | Starting-up method, device and electronic equipment |
WO2020119139A1 (en) * | 2018-12-14 | 2020-06-18 | 广东浪潮大数据研究有限公司 | Method for enabling and disabling pxe function of pch 10-gigabit ethernet, and related device |
US11726820B2 (en) * | 2019-05-03 | 2023-08-15 | EMC IP Holding Company, LLC | Peeking and polling storage management system and method |
CN116880759A (en) * | 2023-07-13 | 2023-10-13 | 北京大禹智芯科技有限公司 | NVMe system based on DPU and starting method thereof |
Also Published As
Publication number | Publication date |
---|---|
US20140047230A1 (en) | 2014-02-13 |
US8938610B2 (en) | 2015-01-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8938610B2 (en) | Computing device and method for wireless remote boot in a networked environment | |
US9619417B2 (en) | Method and apparatus for remote delivery of managed USB services via a mobile computing device | |
US10860305B1 (en) | Secure firmware deployment | |
EP3195176B1 (en) | Trusted execution environment extensible computing device interface | |
KR101453266B1 (en) | Demand based usb proxy for data stores in service processor complex | |
JP4664966B2 (en) | Cooperative embedded agent | |
US8745224B2 (en) | Method and apparatus for dynamic provisioning of an access control policy in a controller hub | |
US9734100B2 (en) | Network controller sharing between SMM firmware and OS drivers | |
US9256442B2 (en) | Network updatable user trusted device | |
US11468170B2 (en) | Techniques for processor boot-up | |
US8275982B2 (en) | System and method for a managed BIOS | |
US20200012501A1 (en) | Information Handling Systems And Method To Provide Secure Shared Memory Access At OS Runtime | |
CN107567629B (en) | Dynamic firmware module loader in trusted execution environment container | |
US20220237295A1 (en) | Remote Attestation Method and Device for Composite Device | |
EP3319283A1 (en) | Server data port learning at data switch | |
US10684904B2 (en) | Information handling systems and methods to selectively control ownership of a hardware based watchdog timer (WDT) | |
US10911547B2 (en) | Systems and methods for SMB monitor dialect | |
CN103907094A (en) | Serialization of access to data in multi-mainframe computing environments | |
US11809876B2 (en) | Trusted platform module protection for non-volatile memory express (NVMe) recovery | |
WO2022143429A1 (en) | Computer system, trusted functional assembly, and operation method | |
US20230325203A1 (en) | Provisioning dpu management operating systems using host and dpu boot coordination | |
US20230229779A1 (en) | Automated ephemeral context-aware device provisioning | |
US20210385193A1 (en) | Method for configuring device resources based on network identification and system therefor |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AS | Assignment |
Owner name: INTEL CORPORATION, CALIFORNIA Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:KHOSRAVI, HORMUZD M.;GOKULRANGAN, VENKAT R.;BERGER, MICHAEL;AND OTHERS;SIGNING DATES FROM 20091111 TO 20091118;REEL/FRAME:029612/0420 |
|
STCB | Information on status: application discontinuation |
Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION |