DETAILED ACTION
Claims 1-20 are pending.
Notice of Pre-AIA or AIA Status
This Office Action is sent in response to Applicant’s Communication received on 01/29/2026 for application number 18/495,112.
The present application, filed on or after March 16, 2013, is being examined under the first inventor to file provisions of the AIA .
Claim Rejections - 35 USC § 103
In the event the determination of the status of the application as subject to AIA 35 U.S.C. 102 and 103 (or as subject to pre-AIA 35 U.S.C. 102 and 103) is incorrect, any correction of the statutory basis (i.e., changing from AIA to pre-AIA ) for the rejection will not be considered a new ground of rejection if the prior art relied upon, and the rationale supporting the rejection, would be the same under either status.
The following is a quotation of 35 U.S.C. 103 which forms the basis for all obviousness rejections set forth in this Office action:
A patent for a claimed invention may not be obtained, notwithstanding that the claimed invention is not identically disclosed as set forth in section 102, if the differences between the claimed invention and the prior art are such that the claimed invention as a whole would have been obvious before the effective filing date of the claimed invention to a person having ordinary skill in the art to which the claimed invention pertains. Patentability shall not be negated by the manner in which the invention was made.
Claims 1, 2, 7, 8, 13-15, 20 are rejected under 35 U.S.C. 103 as being unpatentable over Shankar et al. (US 8,510,543 B1) in view of Schumacher et al. (US 2018/0253555 A1).
Regarding claim 1, Shankar teaches a multi-path initialization system (Figures 1 and 4), comprising:
a chassis that houses a plurality of components that provide a computing device (computer 100, Figure 1; computer 400 Figure 4; column 9, ll. 17-20 and column 10, ll. 37-41);
at least one storage device that is included in the plurality of components, that is housed in the chassis (mass storage 438 located within computer 400, Figure 4), and that includes:
an initialization path database (configuration table 150, Figure 1) that includes respective initialization path information for a plurality of different initialization paths that are each configured to provide respective functionality that is different than functionality provided by the other initialization paths (“The configuration table 150 associated with each configuration 120 may include configuration information that specifies components 112 of the computer 100 to be initialized within the respective boot path.” Col. 6, ll. 12-17 and “boot path one 117A and boot path two 117B may invoke different configurations 120. According to one example, boot path one 117A may guide the BIOS firmware 110 to perform configuration one 120A, which includes a full initialization of underlying video hardware, while boot path two 117B may guide the BIOS firmware 110 to perform configuration two 120B, which includes initializing a limited subset of video support in comparison to configuration one 120A.” col. 5, ll. 27-35 and Figure 1); and
receive a first initialization path instruction to perform an initialization process according to a first initialization path that is included in the plurality of different initialization paths (“The boot path selector 115 within the BIOS firmware 110 may receive a boot path indicator 130 indicating the particular boot path 117 that should be followed for a given instance of booting the computer 100.” Col. 3, ll. 62-66) [a specific instruction (indicator) executes a specific initialization process] and that is configured to initialize the computing device, cause the computing device to enter a runtime state (“Once a boot path 117 guides the BIOS firmware 110 to perform the corresponding configuration 120, the boot path 117 may then guide the BIOS firmware 110 to launch an operating system,” col. 4, ll. 3-6) [the initialization process causes the computer to enter a runtime state by launching the operating system], and provide first functionality that is different than functionality provided by the other initialization paths (“boot path one 117A and boot path two 117B may invoke different configurations 120. According to one example, boot path one 117A may guide the BIOS firmware 110 to perform configuration one 120A, which includes a full initialization of underlying video hardware, while boot path two 117B may guide the BIOS firmware 110 to perform configuration two 120B, which includes initializing a limited subset of video support in comparison to configuration one 120A.” col. 5, ll. 27-35); and
identify, in the initialization path database, first initialization path information for the first initialization path (“At operation 320, the BIOS firmware 110 may access a configuration table 150 associated with the desired boot path and retrieve configuration information from the configuration table 150… the BIOS firmware 110 may be instructed to access the configuration table 150A associated with the boot path 117A in order to retrieve configuration information specifying the components 112 to initialize.” Col. 8, ll. 30-39).
However, Shankar does not explicitly teach an initialization firmware volume database that includes a plurality of initialization firmware volumes; an initialization subsystem that is provided by at least some of the plurality of components, that is housed in the chassis, that is coupled to the at least one storage device, identify, in the initialization firmware volume database based on the first initialization path information, a first subset of the plurality of initialization firmware volumes that are configured for execution to perform the first initialization process according to the first initialization path; and perform the initialization process according to the first initialization path by executing the first subset of the plurality of initialization firmware volumes.
In the analogous art, Schumacher teaches an initialization firmware volume database that includes a plurality of initialization firmware volumes (“The computing device 102 can access a memory 140 that includes a plurality of firmware volumes 142 that are also available to a plurality of other computing devices 150 a-150 n.” par 0022 and “ the volume can be added to a firmware repository including the firmware volumes.” Par 0045 and Figure 1);
an initialization subsystem that is provided by at least some of the plurality of components, that is housed in the chassis, that is coupled to the at least one storage device (“The engines 110, 112, 114, … include hardware and/or combinations of hardware and programming to perform functions provided herein.” Par 0038 and Figure 2) [boot, selection and load engines in Figure 2 correspond to an initialization subsystem; these engines are coupled to memory 232],
identify, in the initialization firmware volume database based on the first initialization path information, a first subset of the plurality of initialization firmware volumes that are configured for execution to perform the first initialization process according to the first initialization path (“A selection engine 112 can be used to select a subset of the firmware volumes 142 for use with the hardware configuration 116 of computing device 102.” Par 0026 and “The node 302 a can then select a subset of the firmware volumes 308 to implement (e.g., by executing the respective firmware volumes) on the node 302 a based on the determined hardware.” Par 0043 and “The volume management engine 310 uses the received information to select firmware volumes to load for the hardware components. As noted above, the selection can be based on the hardware components, the profile information, the license information, or a combination thereof.” Par 0050 and Figure 4) [the identification of volumes is based on profiles/hardware components that define the specific initialization path]; and
perform the initialization process according to the first initialization path by executing the first subset of the plurality of initialization firmware volumes (“The node 302 a can then select a subset of the firmware volumes 308 to implement (e.g., by executing the respective firmware volumes) on the node 302 a based on the determined hardware.” Par 0043 and “Node 302 b can then execute the selected subset of firmware volumes.” Par 0051).
It would have been obvious to a person having ordinary skill in the art, having the teachings of Shankar and Schumacher before him before the effective filing date of the claimed invention, to have modified Shankar to incorporate the teachings of Schumacher to include an initialization subsystem, choose a subset of firmware volumes and perform initialization based on the chosen subset of volumes to avoid inefficiency of having to build and deploy a separate image for each different configuration of hardware in the computer. This method also prevents form generating and using large images that affect boot times. (Schumacher, paragraphs 10, 13)
Claim 14 corresponds to claim 1 and is rejected accordingly.
Regarding claim 2, Shankar and Schumacher teach the system of claim 1. Shankar further teaches wherein the initialization subsystem is configured to:
receive a second initialization path instruction to perform the initialization process according to a second initialization path that is included in the plurality of different initialization paths (“The boot path selector 115 within the BIOS firmware 110 may receive a boot path indicator 130 indicating the particular boot path 117 that should be followed for a given instance of booting the computer 100.” Col. 3, ll. 62-66) [a specific instruction (indicator) executes a specific initialization process] and that is configured to initialize the computing device, cause the computing device to enter the runtime state (“Once a boot path 117 guides the BIOS firmware 110 to perform the corresponding configuration 120, the boot path 117 may then guide the BIOS firmware 110 to launch an operating system,” col. 4, ll. 3-6) [the initialization process causes the computer to enter a runtime state by launching the operating system], and provide second functionality that is different than functionality provided by the other initialization paths (“boot path one 117A and boot path two 117B may invoke different configurations 120. According to one example, boot path one 117A may guide the BIOS firmware 110 to perform configuration one 120A, which includes a full initialization of underlying video hardware, while boot path two 117B may guide the BIOS firmware 110 to perform configuration two 120B, which includes initializing a limited subset of video support in comparison to configuration one 120A.” col. 5, ll. 27-35 and “The boot path two 117B may guide the BIOS firmware 110 to perform a corresponding configuration two 120B in order to initialize a second set of the components 112 as specified by the configuration two 120B.” col. ) [boot path 117B may correspond to a second initialization path that provides a second functionality that is different from the functionality of boot path 117A (first initialization path)];
identify, in the initialization path database, second initialization path information for the second initialization path (“At operation 320, the BIOS firmware 110 may access a configuration table 150 associated with the desired boot path and retrieve configuration information from the configuration table 150… the BIOS firmware 110 may be instructed to access the configuration table 150A associated with the boot path 117A in order to retrieve configuration information specifying the components 112 to initialize.” Col. 8, ll. 30-39) [this same process can be applied for a second booth path 117B].
Schumacher further teaches identify, in the initialization firmware volume database based on the second initialization path information, a second subset of the plurality of initialization firmware volumes that are configured for execution to perform the second initialization process according to the second initialization path and that is different than the first subset of the plurality of initialization firmware volumes (“node 304 b can include the same hardware configuration of hardware components, but load and execute a different subset of firmware volumes. This can be based, for example, on a profile.” Par 0051 and “The volume management engine 310 uses the received information to select firmware volumes to load for the hardware components. As noted above, the selection can be based on the hardware components, the profile information, the license information, or a combination thereof.” Par 0050 and Figure 4); and
perform the initialization process according to the second initialization path by executing the second subset of the plurality of initialization firmware volumes (“The node 302 a can then select a subset of the firmware volumes 308 to implement (e.g., by executing the respective firmware volumes) on the node 302 a based on the determined hardware.” Par 0043 and “Node 302 b can then execute the selected subset of firmware volumes.” Par 0051).
Claims 8 and 15 correspond to claim 2 and are rejected accordingly.
Regarding claim 7, Shankar teaches an Information Handling System (IHS) (computer 100, Figure 1), comprising: a processing system that is configured to be housed in a chassis (CPU 422 located inside computer 400, Figure 4); and a memory system that is configured to be housed in the chassis (mass storage 438, Figure 4), that is coupled to the processing system (mass storage is coupled to CPU through north and south bridges 452, Figure 4), and that includes instructions that, when executed by the processing system, cause the processing system to provide an initialization engine (component initialization instructions 114, Figure 1).
The remainder of claim 7 corresponds to claim 1 and is rejected accordingly.
Regarding claim 13, Shankar and Schumacher teach the IHS of claim 7, Schumacher further teaches wherein the performing the initialization process using the first subset of the plurality of initialization firmware volumes includes executing the first subset of the plurality of initialization firmware volumes in an order defined by the first initialization path information (“hardware components 118 may respectively be associated with an order. For example, a system board with a socket for a peripheral device may be associated in the order to be initialized before the peripheral device itself.” Par 0026 and “the SFW volumes can be placed at pre-determined offsets within the SFW image space on the node based on their relative location within the SFW execution flow.” Par 0019) [the components being initialized are processed according to a specific sequence].
Claim 20 corresponds to claim 13 and is rejected accordingly.
Claims 3, 9 and 16 are rejected under 35 U.S.C. 103 as being unpatentable over Shankar and Schumacher in view of Suryanarayana et al. (US 2020/0341744 A1).
Regarding claim 3, Shankar and Schumacher teach the system of claim 1, However, Shankar and Schumacher do not explicitly teach wherein the at least one storage device includes a Serial Peripheral Interface (SPI) storage device.
In the analogous art, Suryanarayana teaches wherein the at least one storage device includes a Serial Peripheral Interface (SPI) storage device (“single flash device referred to as a Serial Peripheral Interface flash memory device.” Par 0013).
It would have been obvious to a person having ordinary skill in the art, having the teachings of Shankar, Schumacher and Suryanarayana before him before the effective filing date of the claimed invention, to have modified Shankar and Schumacher to incorporate the teachings of Suryanarayana to include a serial peripheral interface storage device to provide high speed, synchronous communication to allow for simultaneous data transmission and reception and reduce hardware overhead.
Claims 9 and 16 correspond to claim 3 and are rejected accordingly.
Claim(s) 4-6, 10-12, 17-19 are rejected under 35 U.S.C. 103 as being unpatentable over Shankar and Schumacher in view of Hormuth et al. (US 11221858 B1).
Regarding claim 4, Shankar and Schumacher teach the system of claim 1. However, Shankar and Schumacher do not explicitly wherein the plurality of initialization firmware volumes include: a processing system provider boot firmware volume; a processing system provider setup firmware volume; a computing device provider boot firmware volume; a computing device provider setup firmware volume; and a processing system update firmware volume.
In the analogous art, Hormuth teaches wherein the plurality of initialization firmware volumes include:
a processing system provider boot firmware volume (“firmware that is configured to perform hardware initialization for the computing system 300 during a boot process (e.g., power-on startup operations) or other initialization processes known in the art” col. 6, ll. 18-21) [this describes boot firmware for system’s processing components];
a processing system provider setup firmware volume (“perform variety of initialization operations for the computing system 202 a/300 that configure the computing system 202 a/300 to perform runtime operations.” Col. 15, ll. 22-27 and Figures 6A-6H) [this corresponds to setup and configuration (initialization operation) for the processing system within the computing/processing system];
a computing device provider boot firmware volume (“firmware that is configured to perform hardware initialization for the computing system 300 during a boot process (e.g., power-on startup operations) or other initialization processes known in the art” col. 6, ll. 18-21) [this shows boot firmware for overall computing device];
a computing device provider setup firmware volume (“perform variety of initialization operations for the computing system 202 a/300 that configure the computing system 202 a/300 to perform runtime operations.” Col. 15, ll. 22-27 and Figures 6A-6H) [this maps to setup/configuration for entire computing device]; and
a processing system update firmware volume (“the management system 206…may change the BIOS boot image utilized by that BIOS subsystem 308 in booting the computing system 202 a/300” col. 16-17, ll. 64; 2-4) [this corresponds to changing (updating) boot image/firmware used by system’s processing components].
It would have been obvious to a person having ordinary skill in the art, having the teachings of Shankar, Schumacher and Hormuth before him before the effective filing date of the claimed invention, to have modified Shankar and Schumacher to incorporate the teachings of Hormuth to add the specific computing device and processing system provider firmware volumes to improve functionality and have modular updates.
Claims 10 and 17 correspond to claim 4 and are rejected accordingly.
Regarding claim 5, Shankar, Schumacher and Hormuth teach the system of claim 4. Hormuth further teaches wherein the first subset of the plurality of initialization firmware volumes includes:
the processing system provider boot firmware volume (“firmware that is configured to perform hardware initialization for the computing system 300 during a boot process (e.g., power-on startup operations) or other initialization processes known in the art” col. 6, ll. 18-21 and Figure 3) [this describes boot firmware for system’s processing components which is included in the BIOS subsystem 308; the BIOS boot image forms the first subset; see column 6];
the processing system provider setup firmware volume (“perform variety of initialization operations for the computing system 202 a/300 that configure the computing system 202 a/300 to perform runtime operations.” Col. 15, ll. 22-27 and Figures 6A-6H) [this corresponds to setup and configuration (initialization operation) for the processing system within the computing/processing system]; and
the processing system update firmware volume (“the management system 206…may change the BIOS boot image utilized by that BIOS subsystem 308 in booting the computing system 202 a/300” col. 16-17, ll. 64; 2-4) [this corresponds to changing (updating) boot image/firmware used by system’s processing components].
Claims 11 and 18 correspond to claim 5 and are rejected accordingly.
Regarding claim 6, Shankar, Schumacher and Hormuth teach the system of claim 4. Hormuth further teaches wherein the first subset of the plurality of initialization firmware volumes includes:
the computing device provider boot firmware volume (“firmware that is configured to perform hardware initialization for the computing system 300 during a boot process (e.g., power-on startup operations) or other initialization processes known in the art” col. 6, ll. 18-21) [this shows boot firmware for overall computing device which is included in the BIOS subsystem 308; the BIOS boot image forms the first subset; see column 6];
the computing device provider setup firmware volume (“perform variety of initialization operations for the computing system 202 a/300 that configure the computing system 202 a/300 to perform runtime operations.” Col. 15, ll. 22-27 and Figures 6A-6H) [this maps to setup/configuration for entire computing device]; and
the processing system update firmware volume (“the management system 206…may change the BIOS boot image utilized by that BIOS subsystem 308 in booting the computing system 202 a/300” col. 16-17, ll. 64; 2-4) [this corresponds to changing (updating) boot image/firmware used by system’s processing components].
Claims 12 and 19 correspond to claim 6 and are rejected accordingly.
Response to Arguments
Applicant’s arguments with respect to claim(s) 1, 7 and 14 have been considered but are moot because the new ground of rejection does not rely on any reference applied in the prior rejection of record for any teaching or matter specifically challenged in the argument.
No additional arguments were presented as to the remaining claims. As such, the rejection is maintained.
Conclusion
Any inquiry concerning this communication or earlier communications from the examiner should be directed to AYMAN FATIMA whose telephone number is (571)270-0830. The examiner can normally be reached M to Fri between 8am and 4pm EST.
Examiner interviews are available via telephone, in-person, and video conferencing using a USPTO supplied web-based collaboration tool. To schedule an interview, applicant is encouraged to use the USPTO Automated Interview Request (AIR) at http://www.uspto.gov/interviewpractice.
If attempts to reach the examiner by telephone are unsuccessful, the examiner’s supervisor, Jaweed Abbaszadeh can be reached on (571)270-1640. The fax phone number for the organization where this application or proceeding is assigned is 571-273-8300.
Information regarding the status of published or unpublished applications may be obtained from Patent Center. Unpublished application information in Patent Center is available to registered users. To file and manage patent submissions in Patent Center, visit: https://patentcenter.uspto.gov. Visit https://www.uspto.gov/patents/apply/patent-center for more information about Patent Center and https://www.uspto.gov/patents/docx for information about filing in DOCX format. For additional questions, contact the Electronic Business Center (EBC) at 866-217-9197 (toll-free). If you would like assistance from a USPTO Customer Service Representative, call 800-786-9199 (IN USA OR CANADA) or 571-272-1000.
/AYMAN FATIMA/Examiner, Art Unit 2176
/JAWEED A ABBASZADEH/Supervisory Patent Examiner, Art Unit 2176