This invention relates generally to information handling systems and, more particularly, to extension of server management functions in information handling systems.
As the value and use of information continues to increase, individuals and businesses seek additional ways to process and store information. One option available to users is information handling systems. An information handling system generally processes, compiles, stores, and/or communicates information or data for business, personal, or other purposes thereby allowing users to take advantage of the value of the information. Because technology and information handling needs and requirements vary between different users or applications, information handling systems may also vary regarding what information is handled, how the information is handled, how much information is processed, stored, or communicated, and how quickly and efficiently the information may be processed, stored, or communicated. The variations in information handling systems allow for information handling systems to be general or configured for a specific user or specific use such as financial transaction processing, airline reservations, enterprise data storage, or global communications. In addition, information handling systems may include a variety of hardware and software components that may be configured to process, store, and communicate information and may include one or more computer systems, data storage systems, and networking systems.
Information handling systems are often configured as servers. Such information handling systems are typically provided with server management functions that allow for server updates for firmware, BIOS, driver upgrades, server configuration, operating system deployment program for installation of the operating system on the server; and diagnostic functions to monitor the health status of the server. Programming for server management functions are typically loaded onto embedded flash memory of a server embedded remote access controller, such as an integrated Dell Remote Access Controller (iDRAC) available from Dell Products L.P. of Round Rock, Tex. A graphical user interface (GUI) may be provided to allow a user to control loading of server management functions as an image from the flash memory device which is embedded in the motherboard of the system.
Extension of server management functions (e.g., to change the properties of the server graphic user interface (“GUI”), to add support for additional operating systems in the OS deployment, or to add support for additional servers (original equipment manufacturer “OEM servers”) in a typical conventional server may be attempted but is complicated by the following factors. In a typical server, remote access controller flash memory device resources are limited (e.g., having an entire storage capacity of 1 gigabyte), and the amount of memory that is allocated for system management application is also typically limited (e.g., about 20 megabytes). The remote access controller flash memory device is typically managed by the remote access controller sub-system and is not open to the host system. System management functions run under a unified extension firmware interface (“UEFI”) environment (which is provided by the BIOS firmware), and the infrastructure functions and library are enclosed. An extended understanding and knowledge of the current server management architecture and design are required due to the complexity of the component interfaces, which include remote access controller subsystem, BIOS firmware, device driver installation, etc.
Disclosed herein are systems and methods that may be implemented to provide a plug-in architecture framework to allow extension of server management functionalities (e.g., Dell unified server configurator (“USC”) server management functionalities available from Dell Products L.P. of Round Rock, Tex.) in a unified extensible firmware interface (“UEFI”) environment (e.g., by a third party) by leveraging available remote access controller core or optional flash memory space. Among other things, the disclosed systems and methods may be implemented to provide a hardware and software interface to allow use of a plug-in framework in the embedded system management (e.g., of a server or other host computer information handling system) that may be run under the BIOS firmware and the UEFI environment. The disclosed systems and methods may also be implemented to provide a USC server management architecture that may be modified and enhanced over time, and/or that may also be employed to extend availability of the USC server management framework to third parties (e.g. to make it easy for third parties to customize server management functions to suit their preference and/or to host their own service on newly shipped information handling systems), as well as to extend support to original equipment manufacturer (“OEM”) servers.
In one embodiment, the disclosed systems and methods may be implemented with an information handling system configured as a blade server that includes an embedded remote access controller and associated embedded persistent storage to provide server management functions. Examples of server management functions that may be so provided include, but are not limited to, server updates for firmware and/or BIOS, upgrades for drivers; server configuration changes or modifications; programming for deployment of an operating system (“OS”) for the OS installation on a server; diagnostic function/s to monitor the health status of a server, etc. In one exemplary embodiment, the disclosed systems and methods may be employed to allow third parties to utilize the flash memory resources of the server embedded remote access controller to extend the current or existing system management functions for a server, e.g., to allow a third party to change the properties of the server graphic user interface (“GUI”), to add support for additional operating systems in the OS deployment, or to add support for additional servers (original equipment manufacturer “OEM servers”) and devices, etc.
In one respect, disclosed herein is an information handling system, including: at least one processing device; at least one external input/output (I/O) interface coupled to the at least one processing device, the external I/O interface being configured for coupling to one or more devices that are external to the information handling system; a remote access controller coupled to the external I/O interface and to the at least one processing device; persistent storage coupled to the remote access controller; and a server management framework present on the persistent storage, the server management framework including one or more server management functions that each include a configuration layer, the server management framework being configured to load the server management functions on the at least one processing device of the information handling system. The server management framework may be further configured to access a configuration plug-in from one or more external devices across the external I/O interface, the configuration plug-in including a configuration layer. The server management framework may also be configured to extend the configuration layer of the server management framework across the external I/O interface to include the configuration layer of the configuration plug-in, and then load the server management functions on the at least one processing device with the server management functions extended to include the configuration layer of the configuration plug-in.
In another respect, disclosed herein is a computing system, including an information handling system that includes: at least one processing device, at least one external input/output (I/O) interface coupled to the at least one processing device, a remote access controller coupled to the external I/O interface and to the at least one processing device, persistent storage coupled to the remote access controller, and a server management framework present on the persistent storage, the server management framework including one or more server management functions that each include a configuration layer, the server management framework being configured to load the server management functions on the at least one processing device of the information handling system. The computing system may also include one or more external devices coupled to the external I/O interface of the information handling system. The server management framework may be further configured to access a configuration plug-in from the one or more external devices across the external I/O interface, the configuration plug-in including a configuration layer. The server management framework may also be configured to extend the configuration layer of the server management framework across the external I/O interface to include the configuration layer of the configuration plug-in, and then load the server management functions on the at least one processing device with the server management functions extended to include the configuration layer of the configuration plug-in.
In yet another respect, disclosed herein is a method of extending server management functions in an information handling system. The method may include providing an information handling system that includes: at least one processing device, at least one external input/output (I/O) interface coupled to the at least one processing device, a remote access controller coupled to the external I/O interface and to the at least one processing device, persistent storage coupled to the remote access controller, and a server management framework present on the persistent storage, the server management framework including one or more server management functions that each include a configuration layer. The method may also include: coupling the external I/O interface to one or more devices that are external to the information handling system; using the server management framework to load the server management functions on the at least one processing device of the information handling system; using the server management framework to access a configuration plug-in across the external I/O interface from the one or more external devices, the configuration plug-in including a configuration layer; using the server management framework to extend the configuration layer of the server management framework across the external I/O interface to include the configuration layer of the configuration plug-in; and using the server management framework to then load the server management functions on the at least one processing device with the server management functions extended to include the configuration layer of the configuration plug-in.
Still referring to
As further shown, remote access controller 125 is coupled to remote access controller persistent storage 140 (e.g., embedded and partitioned flash memory, Electrically Erasable Programmable Read Only Memory—EEPROM, etc.), upon which one or more server management applications forming part of a USC framework 204 may be stored in addition to other functions, e.g., BIOS 208 and unified extensible firmware interface (“UEFI”) 210 of
Still referring to the exemplary embodiment of
As shown, server management functions of USC framework 204 of
In this embodiment, existing server management functions include existing operating system deployment (OSD) function 230 which itself includes existing operating system deployment XML profile 244 and existing operating system driver pack 246 (e.g., as a zip file in one of the partitions of embedded remote access controller persistent storage 140 (e.g., flash memory device) that contains all the needed system drivers for OS installation/deployment), in addition to operating system backend processing module 242 that functions to install an operation system. Other examples of server management functions that may be a part of USC framework 204 include, but are not limited to, patches, configuration, application deployment, etc.
Existing server management functions of this embodiment also include existing platform update function 232 which itself includes existing update wrappers 252 and existing device update protocols 254, in addition to task registration 250 which functions to sequence the update task, system service information block (“SSIB”) 258 which is a file containing tasks that are used for registration of tasks of USC framework 204, system service manager (“SSM”) 260 which is a function that is used for processing the tasks contained in SSIB 258 in a first-in first-out manner, and update backend processing module 248 that functions to flash the firmware with update payload. Existing GUI XML profile 226 and existing GUI processing module 228 together comprise a GUI function for generating a GUI menu for controlling server management functionalities.
Also shown in
In the practice of the disclosed systems and methods, additional functions may be easily enabled or disabled from the GUI menu via the GUI XML profile 226.
When booting information handling system 100 (e.g., server) of
Advantageously, the disclosed systems and methods may be implemented in one embodiment such that USC server management functions (e.g., such as GUI functions 226 and 228, OS deployment function 230, and platform update function 232) may be easily enhanced via the configuration layer rather than the core infrastructure, thus providing increased stability for an information handling system 100. Moreover, support of the USC system management may be easily extended to OEM servers, and the USC functions may be easily customized. The disclosed systems and methods may also be implemented to allow a displayed logo to be added or removed, and/or the GUI properties may be changed, for example, to suit third party requirements. In one embodiment, third parties may be provided with the ability to customize the USC functions according to their preferences. In this regard, the customization process may be performed easily by extending the configuration layer and does not require an extensive understanding of the USC system management design or architecture.
For purposes of this disclosure, an information handling system may include any instrumentality or aggregate of instrumentalities operable to compute, classify, process, transmit, receive, retrieve, originate, switch, store, display, manifest, detect, record, reproduce, handle, or utilize any form of information, intelligence, or data for business, scientific, control, entertainment, or other purposes. For example, an information handling system may be a personal computer, a PDA, a consumer electronic device, a network storage device, or any other suitable device and may vary in size, shape, performance, functionality, and price. The information handling system may include memory, one or more processing resources such as a central processing unit (CPU) or hardware or software control logic. Additional components of the information handling system may include one or more storage devices, one or more communications ports for communicating with external devices as well as various input and output (I/O) devices, such as a keyboard, a mouse, and a video display. The information handling system may also include one or more buses operable to transmit communications between the various hardware components.
While the invention may be adaptable to various modifications and alternative forms, specific embodiments have been shown by way of example and described herein. However, it should be understood that the invention is not intended to be limited to the particular forms disclosed. Rather, the invention is to cover all modifications, equivalents, and alternatives falling within the spirit and scope of the invention as defined by the appended claims. Moreover, the different aspects of the disclosed systems and methods may be utilized in various combinations and/or independently. Thus the invention is not limited to only those combinations shown herein, but rather may include other combinations.
This patent application is a continuation of co-pending U.S. patent application Ser. No. 12/587,001 entitled “Systems And Methods For Extension Of Server Management Functions”, filed Sep. 30, 2009. which is incorporated herein by reference in its entirety.
Number | Name | Date | Kind |
---|---|---|---|
5603005 | Bauman et al. | Feb 1997 | A |
5717942 | Haupt et al. | Feb 1998 | A |
6108697 | Raymond et al. | Aug 2000 | A |
6144992 | Turpin et al. | Nov 2000 | A |
6298443 | Colligan et al. | Oct 2001 | B1 |
6408334 | Bassman et al. | Jun 2002 | B1 |
6470446 | Beelitz et al. | Oct 2002 | B1 |
6519679 | Devireddy et al. | Feb 2003 | B2 |
6763458 | Watanabe et al. | Jul 2004 | B1 |
6820214 | Cabrera et al. | Nov 2004 | B1 |
6854122 | Sheriff et al. | Feb 2005 | B1 |
6973587 | Maity et al. | Dec 2005 | B1 |
7028138 | Ali et al. | Apr 2006 | B2 |
7216200 | Zhang et al. | May 2007 | B2 |
7272815 | Eldridge et al. | Sep 2007 | B1 |
7360211 | Hyden et al. | Apr 2008 | B2 |
7409575 | Komarla et al. | Aug 2008 | B2 |
7426052 | Cox et al. | Sep 2008 | B2 |
7430592 | Schmidt et al. | Sep 2008 | B2 |
7526541 | Roese et al. | Apr 2009 | B2 |
7610575 | Sproule | Oct 2009 | B2 |
7660913 | Zimmer et al. | Feb 2010 | B2 |
7706369 | Roese et al. | Apr 2010 | B2 |
7739372 | Roese et al. | Jun 2010 | B2 |
7739402 | Roese et al. | Jun 2010 | B2 |
7765371 | Abels et al. | Jul 2010 | B2 |
7805533 | Burns et al. | Sep 2010 | B2 |
7877614 | Frenkiel et al. | Jan 2011 | B2 |
7895428 | Boland et al. | Feb 2011 | B2 |
7898977 | Roese et al. | Mar 2011 | B2 |
7945945 | Graham et al. | May 2011 | B2 |
8086834 | Brisky et al. | Dec 2011 | B2 |
8086838 | Harmer | Dec 2011 | B2 |
8099624 | Saxena et al. | Jan 2012 | B1 |
8191107 | Frattura et al. | May 2012 | B1 |
8260841 | Maity | Sep 2012 | B1 |
8261044 | Kinstler | Sep 2012 | B2 |
8370659 | Chiasson et al. | Feb 2013 | B2 |
8407662 | Lam | Mar 2013 | B2 |
8510422 | Phung et al. | Aug 2013 | B2 |
20030216143 | Roese et al. | Nov 2003 | A1 |
20040162857 | Butts | Aug 2004 | A1 |
20050027837 | Roese et al. | Feb 2005 | A1 |
20050055688 | Barajas et al. | Mar 2005 | A1 |
20050066015 | Dandekar et al. | Mar 2005 | A1 |
20050076245 | Graham et al. | Apr 2005 | A1 |
20050172280 | Ziegler et al. | Aug 2005 | A1 |
20050216664 | Taninaka et al. | Sep 2005 | A1 |
20050237996 | Sakuraba et al. | Oct 2005 | A1 |
20060018505 | Cherian et al. | Jan 2006 | A1 |
20060031936 | Nelson et al. | Feb 2006 | A1 |
20060036730 | Graham et al. | Feb 2006 | A1 |
20060048142 | Roese et al. | Mar 2006 | A1 |
20060075093 | Frattura et al. | Apr 2006 | A1 |
20060190532 | Chadalavada | Aug 2006 | A1 |
20060212143 | Nguyen et al. | Sep 2006 | A1 |
20070101077 | Evanchik et al. | May 2007 | A1 |
20070124407 | Weber et al. | May 2007 | A1 |
20070156263 | Gorzelic et al. | Jul 2007 | A1 |
20070162695 | Ali et al. | Jul 2007 | A1 |
20070168049 | Rao et al. | Jul 2007 | A1 |
20070168481 | Lambert et al. | Jul 2007 | A1 |
20070204105 | Lauffer et al. | Aug 2007 | A1 |
20080002694 | Brahmaroutu et al. | Jan 2008 | A1 |
20080033972 | Yin et al. | Feb 2008 | A1 |
20080126551 | Conner et al. | May 2008 | A1 |
20080155094 | Roese et al. | Jun 2008 | A1 |
20080201501 | Partani et al. | Aug 2008 | A1 |
20090037655 | Cherian et al. | Feb 2009 | A1 |
20100057987 | Liu | Mar 2010 | A1 |
20100268925 | Brisky et al. | Oct 2010 | A1 |
20100306773 | Lee et al. | Dec 2010 | A1 |
20110072280 | Chiasson et al. | Mar 2011 | A1 |
20110078293 | Phung et al. | Mar 2011 | A1 |
20110173427 | Merkin et al. | Jul 2011 | A1 |
20110264951 | Pratt et al. | Oct 2011 | A1 |
20110289350 | Andrews et al. | Nov 2011 | A1 |
20110296404 | Zhang et al. | Dec 2011 | A1 |
20120110262 | Zhang et al. | May 2012 | A1 |
20120198245 | Mundt et al. | Aug 2012 | A1 |
20120317633 | O'Donnell et al. | Dec 2012 | A1 |
Entry |
---|
IBM, “Navigator for I”, Printed From Internet May 26, 2009, 3 pgs. |
IBM, “IBM iSeries Navigator System Management Plug-In for SAP”, Printed From Internet May 26, 2009, 1 pg. |
Business Wire; Business Services Industry, “F5 and Oracle Collaborate to Release Big-Ip Load Balancer System Management Plug-In for Oracle Enterprise Manager 10g Grid Control”, Oct. 31, 2005, 10 pgs. |
Highbeam Research, “Nimsoft Team Up With Oracle”, Printed From Internet May 26, 2009, 4 pgs. |
All Business, “Oracle Releases F5 Management Plug-In Via iControl”, Printed From Internet May 26, 2009, 4 pgs. |
Warren Togami, “Remote Conversion to Linux Software RAID-1 for Crazy Sysadmins Howto”, 2004, 11 pgs. |
“Remote Raid/Mirror”, HTMICenter, Printed From Internet Jul. 22, 2010, 2 pgs. |
Power6 Information, “Installing an HA-two system RAID Configuration”, Printed From Internet Jul. 22, 2010, 4 pgs. |
Phung et al. “Systems and Methods for Extension of Server Management Functions”, U.S. Appl. No. 12/587,001; Office Action, Jun. 15, 2012, 13 pgs. |
Wikipedia, “License Manager” Printed from Internet Jun. 20, 2012, 2 pgs. |
McNeill, “Virtual Machine Asynchronous Patch Management”, U.S. Appl. No. 13/210,552, filed Aug. 16, 2011, 17 pgs. |
Karandikar et al., “System and Method for Providing an Image to an Information Handling System”, U.S. Appl. No. 13/174,221, filed Jun. 30, 2011, 35 pgs. |
Phung et al. “Systems and Methods for Extension of Server Management Functions”, U.S. Appl. No. 12/587,001; Amendment, Oct. 15, 2012, 16 pgs. |
Zhang et al., “Systems and Methods for Remote Raid Configuration in an Embedded Environment”, Filed Oct. 27, 2010, U.S. Appl. No. 12/925,673, 31 pgs. |
Andrews et al., “System and Method for Removable Network Attached Storage Enabling System Recovery From Backup”, U.S. Appl. No. 13/187,219, filed Jul. 20, 2011, 30 pgs. |
Zhang et al., “Systems and Methods for Out-of-Band Backup and Restore of Hardware Profile Information”, U.S. Appl. No. 13/365,901, filed Feb. 3, 2012, 37 pgs. |
Zhang et al., “Systems and Methods for Intelligent System Profile Unique Data Management”, U.S. Appl. No. 13/618,666, filed Sep. 14, 2012, 32 pgs. |
Number | Date | Country | |
---|---|---|---|
20130254358 A1 | Sep 2013 | US |
Number | Date | Country | |
---|---|---|---|
Parent | 12587001 | Sep 2009 | US |
Child | 13898991 | US |