Prosecution Insights
Last updated: October 23, 2026
Application No. 19/285,680

HARDWARE RECOVERY UTILIZING STATE INFORMATION

Non-Final OA §103
Filed
Jul 30, 2025
Priority
Sep 09, 2024 — CIP of 18/828,724
Examiner
MCNAMARA, SEAN KEVIN
Art Unit
2113
Tech Center
2100 — Computer Architecture & Software
Assignee
Mellanox Technologies Ltd.
OA Round
1 (Non-Final)
72%
Grant Probability
Favorable
1-2
OA Rounds
1y 2m
Est. Remaining
99%
With Interview

Examiner Intelligence

Grants 72% — above average
72%
Career Allowance Rate
21 granted / 29 resolved
+17.4% vs TC avg
Strong +34% interview lift
Without
With
+33.7%
Interview Lift
resolved cases with interview
Typical timeline
2y 5m
Avg Prosecution
7 currently pending
Career history
46
Total Applications
across all art units

Statute-Specific Performance

§101
17.9%
-22.1% vs TC avg
§103
60.0%
+20.0% vs TC avg
§102
17.9%
-22.1% vs TC avg
§112
4.3%
-35.7% vs TC avg
Black line = Tech Center average estimate • Based on career data from 29 resolved cases

Office Action

§103
NON-FINAL ACTION Notice of Pre-AIA or AIA Status The present application, filed on or after March 16, 2013, is being examined under the first inventor to file provisions of the AIA . Claim Objections Claim 13 objected to because of the following informalities: “and wherein the super block” is repeated, which will be interpreted as a typographical error. Appropriate correction is required. Claim Rejections - 35 USC § 103 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. Claim(s) 1, 7, 8, 9, 14, 15, 16, 19 and 20 is/are rejected under 35 U.S.C. 103 as being unpatentable over Goodman (US 20180059965) in view of Dragojevic (US 20180365141). Regarding claim 1, Goodman teaches A computing device comprising: a control circuit controlling operation of the computing device, wherein the control circuit causes the computing device to: execute a first process, wherein the first process creates and manages communication ports to hardware of the computing device (“For example, the host may send a command to the library without receiving a response within a selected or predetermined time and the logical unit may be reset by the host as an attempt at error recovery…. For example, an interface (e.g., serial or Ethernet) that allows the library to communicate with a drive or control port. In another example, an interface (e.g., SCSI, Fibre Channel, or Ethernet) that allows the library to communicate with a host computer” ¶69); and listens for process recovery attempts (“The library may detect the Logical Unit Reset through an interface of the library.” ¶69); and executes a second process, wherein the second process maintains system recovery state information in a persistent memory accessible by the first process and the second process and, upon a recovery of the second process, recovers the system recovery state information from the persistent memory (“In another embodiment, an action for taking a log snapshot would be an operator or service technician initiating a drive or library reset…The logs may comprise trace information (what was the library doing), diagnostic information (what kinds of errors or problems were encountered), statistical information (what was the performance or usage of various library components), backup information (a backup of one or more components of the library state, settings, or configuration), database information (the contents of one more library databases), etc.” ¶59 “The snapshot is stored by the automated data storage library and it may be stored within the library itself (e.g., on a hard disk, in nonvolatile memory, CompactFlash card, etc.)” ¶61). Goodman does not teach through a memory allocator object of a first library and, upon a recovery of the second process, orchestrates management of the communication ports by the first process and recovers the system recovery state information from the persistent memory through the memory allocator object Dragojevic teaches through a memory allocator object of a first library and, upon a recovery of the second process, orchestrates management of the communication ports by the first process and recovers the system recovery state information from the persistent memory through the memory allocator object (“In block 306, the memory allocator identifies a memory portion, which may possibly be allocated to an object, in the memory page. In block 308, the memory allocator accesses the registration data stored in the non-volatile main memory to invoke the recovery function for the program.” ¶56). It would have been obvious for one of ordinary skill in the art to combine the system recovery device of Goodman with the use of a memory allocator object to manage the communication of data as taught by Dragojevic. Allocators are used to perform basic user mode memory management functions (Dragojevic, ¶2). Regarding claim 7, Goodman teaches wherein, upon the recovery of the second process, the second process issues an import request for a command channel to the first process (“The library may detect the VHF data packet RRQST bit through an interface of the library. For example, an interface (e.g., serial or Ethernet) that allows the library to communicate with a drive or control port.” ¶70). the command channel comprising one of the communication ports managed by the first process (“For example, an interface (e.g., serial or Ethernet) that allows the library to communicate with a drive or control port. In another example, an interface (e.g., SCSI, Fibre Channel, or Ethernet) that allows the library to communicate with a host computer. The Logical Unit Reset may be received by the library over one of these interfaces” ¶69). Regarding claim 8, Goodman teaches The computing device of claim 7, wherein the first process serves the import request from the second process and wherein the second process then use the command channel to read the system recovery state information (“The VHF data packet may be received by the library over this interface.” ¶70). Regarding claim 9, it recites a system with substantially similar functions to the device of claim 1. Regarding claim 14, Goodman teaches wherein, upon the recovery of the second process, the second process issues an import request for a command channel to the first process, wherein the command channel comprising one of the communication ports managed by the first process (“For example, an interface (e.g., serial or Ethernet) that allows the library to communicate with a drive or control port. In another example, an interface (e.g., SCSI, Fibre Channel, or Ethernet) that allows the library to communicate with a host computer. The Logical Unit Reset may be received by the library over one of these interfaces” ¶69); wherein the first process serves the import request from the second process, and wherein the second process then use the command channel to read the recovery state information. (“The library may detect the VHF data packet RRQST bit through an interface of the library. For example, an interface (e.g., serial or Ethernet) that allows the library to communicate with a drive or control port. The VHF data packet may be received by the library over this interface.” ¶70). Regarding claim 15, Goodman teaches wherein the second process comprises a plurality of second processes and wherein each of the plurality of second processes maintains system recovery state information in the persistent memory and, upon recovery, recovers the system recovery state information from the persistent memory. (“A snapshot of one or more logs associated with the automated data storage library may be captured upon detection of the triggering event, as in block 820. Herein, captured refers to the freezing (e.g., stop adding or modifying information to a log or snapshot), collecting (e.g., gathering different logs, files, snapshots, and/or log data), combining (e.g., concatenating files, logs, snapshots, and/or log data), compressing (e.g., compressing files, logs, snapshots, and/or log data), copying (e.g., copying files, logs, snapshots, and/or log data), saving (e.g., saving files, logs, snapshots, and/or log data), preserving (e.g., preserving files, logs, snapshots, and/or log data),” ¶61). Regarding claim 16, Goodman teaches A method for recovery of an execution process, the method comprising: executing, by a control circuit of a computing device, a first process, wherein the first process creates and manages communication ports to hardware of the computing device and listens for process recovery attempts, (“For example, an interface (e.g., serial or Ethernet) that allows the library to communicate with a drive or control port. In another example, an interface (e.g., SCSI, Fibre Channel, or Ethernet) that allows the library to communicate with a host computer. The Logical Unit Reset may be received by the library over one of these interfaces.” ¶69). and executing, by the control circuit of the computing device, a second process, wherein the second process maintains system recovery state information in a persistent memory accessible by the first process and the second process and, upon a recovery of the second process, recovers the system recovery state information from the persistent memory. (“The snapshot is stored by the automated data storage library and it may be stored within the library itself (e.g., on a hard disk, in nonvolatile memory, CompactFlash card, etc.)” ¶61). Dragojevic teaches through a memory allocator object of a first library and, upon a recovery of the second process, orchestrates management of the communication ports by the first process and recovers the system recovery state information from the persistent memory through the memory allocator object (“In block 306, the memory allocator identifies a memory portion, which may possibly be allocated to an object, in the memory page. In block 308, the memory allocator accesses the registration data stored in the non-volatile main memory to invoke the recovery function for the program.” ¶56). Regarding claim 20, Goodman teaches wherein, upon the recovery of the second process, the second process issues an import request for a command channel to the first process, wherein the the command channel comprising one of the communication ports managed by the first process (“For example, an interface (e.g., serial or Ethernet) that allows the library to communicate with a drive or control port. In another example, an interface (e.g., SCSI, Fibre Channel, or Ethernet) that allows the library to communicate with a host computer.” ¶69); wherein first process serves the import request from the second process, and wherein the second process then use the command channel through the command channel. (“The library may detect the VHF data packet RRQST bit through an interface of the library. For example, an interface (e.g., serial or Ethernet) that allows the library to communicate with a drive or control port. The VHF data packet may be received by the library over this interface.” ¶70). Claim(s) 2-5, 10-12, 17 and 18 is/are rejected under 35 U.S.C. 103 as being unpatentable over Goodman and Dragojevic in view of Karr (US 20210019237). Regarding claim 2, Goodman and Dragojevic teach The computing device of claim 1. They do not teach wherein the recovery of the second process comprises a crash recovery. Karr teaches wherein the recovery of the second process comprises a crash recovery. (“This can be complicated by crash recovery which could be fixed by marking a special type of batch as indicating updates to repair any crash-related consistency issues, with normal operation resuming after such a recovery batch.” ¶478). It would have been obvious for one of ordinary skill in the art prior to the filing of the claimed invention to combine the storing of hardware state information for diagnosis and recovery purposes as taught by Goodman with the mitigation of crash recover as taught by Karr. A crash is another example of a device error, and logging crashes can help repair future ones, for example using particular updates (Karr ¶478). Regarding claim 3, Karr teaches wherein the recovery of the second process comprises a version update recovery (“…which could be fixed by marking a special type of batch as indicating updates to repair any crash-related consistency issues, with normal operation resuming after such a recovery batch.” ¶478). Regarding claim 4, Goodman teaches wherein maintaining the system recovery state information comprises writing hardware state information to the persistent memory (“configuration information (e.g., information related to settings and preferences of the library, drive, component, or device), backup information (e.g., a backup of the state, settings, or configuration of the library, drive, component, or device), database information (e.g., information related to any databases that the library, drive, component, or device may have). A snapshot of the one or more logs in an automated data storage library may be stored, as in block 830. The snapshot is stored by the automated data storage library and it may be stored within the library itself (e.g., on a hard disk, in nonvolatile memory, CompactFlash card, etc.)” ¶61. Karr teaches through an Application Programming Interface (API) of a second library, wherein the API calls the memory allocator object in place of hardware drivers of the first library (“A RESTful API (application programming interface) breaks down a transaction to create a series of small modules. Each module addresses a particular underlying part of the transaction. The control or permissions provided with these embodiments, especially for object data, may include utilization of an access control list (‘ACL’). The ACL is a list of permissions attached to an object and the ACL specifies which users or system processes are granted access to objects, as well as what operations are allowed on given objects.” ¶109). Regarding claim 5, Goodman teaches The computing device of claim 4, wherein the recovery of the second process further comprises recovery of the hardware state information from the persistent memory (“Herein, captured refers to the freezing (e.g., stop adding or modifying information to a log or snapshot), collecting (e.g., gathering different logs, files, snapshots, and/or log data), combining (e.g., concatenating files, logs, snapshots, and/or log data), compressing (e.g., compressing files, logs, snapshots, and/or log data), copying (e.g., copying files, logs, snapshots, and/or log data), saving (e.g., saving files, logs, snapshots, and/or log data), preserving (e.g., preserving files, logs, snapshots, and/or log data)” ¶61). Karr teaches through the API (“In such embodiments, users may have no knowledge regarding the details of where their data is stored but they can still use the same full, unified API to address data.” ¶153). Regarding claims 10-11, it recites a system that recites substantially similar functions as claims 2-3. Regarding claim 17, Karr teaches wherein the recovery of the second process comprises a crash recovery. (“This can be complicated by crash recovery which could be fixed by marking a special type of batch as indicating updates to repair any crash-related consistency issues” ¶478). Regarding claim 18, Karr teaches wherein the recovery of the second process comprises a version update recovery (“…which could be fixed by marking a special type of batch as indicating updates to repair any crash-related consistency issues, with normal operation resuming after such a recovery batch.” ¶478). Regarding claim 19 Goodman and Dragojevic teach The method of claim 16, wherein maintaining the system recovery state information comprises writing hardware state information to the persistent memory (“A snapshot of the one or more logs in an automated data storage library may be stored, as in block 830. The snapshot is stored by the automated data storage library and it may be stored within the library itself (e.g., on a hard disk, in nonvolatile memory, CompactFlash card, etc.)” ¶61”); and wherein the recovery of the second process further comprises recovery of the hardware state information from the persistent memory. (“…copying (e.g., copying files, logs, snapshots, and/or log data), saving (e.g., saving files, logs, snapshots, and/or log data), preserving (e.g., preserving files, logs, snapshots, and/or log data)” ¶61). Karr teaches through an Application Programming Interface (API) of a second library, wherein the API calls the memory allocator object in place of hardware drivers of the second library (“A RESTful API (application programming interface) breaks down a transaction to create a series of small modules. Each module addresses a particular underlying part of the transaction. The control or permissions provided with these embodiments, especially for object data, may include utilization of an access control list (‘ACL’). The ACL is a list of permissions attached to an object and the ACL specifies which users or system processes are granted access to objects, as well as what operations are allowed on given objects.” ¶109)… through the API (“In such embodiments, users may have no knowledge regarding the details of where their data is stored but they can still use the same full, unified API to address data.” ¶153). Claim(s) 6 and 13 is/are rejected under 35 U.S.C. 103 as being unpatentable over Goodman and Dragojevic in view of Suzuki (US 20240320097). Regarding claim 6, Goodman and Dragojevic teach the computing device of claim 1, Goodman teaches stores the system recovery information (“The recovery request log page may contain a recovery procedure, in which more detail can be provided through a read buffer command.” ¶70). but does not teach wherein the persistent memory comprises a superblock and wherein the superblock comprises metadata describing a memory structure for the system recovery state information. Suzuki teaches wherein the persistent memory comprises a superblock and wherein the superblock comprises metadata describing a memory structure for the system recovery state information (“The block identifier is information for identifying the superblock from other superblocks. The state is information related to the state of the superblock and includes active or non-active. The active state indicates that the superblock is writable.” ¶240). It would have been obvious for one of ordinary skill in the art prior to the filing of the claimed invention to combine the recording of system state data as taught by Goodman with the use of superblock structures and metadata taught by Suzuki. Superblocks allow for the controller to perform read and write operations in parallel (Suzuki ¶70). Regarding claim 13, Suzuki teaches wherein the persistent memory comprises a superblock and wherein the superblock comprises metadata describing a memory structure for the system recovery state information (“The block identifier is information for identifying the superblock from other superblocks. The state is information related to the state of the superblock and includes active or non-active. The active state indicates that the superblock is writable.” ¶240). Goodman teaches stores the system recovery information (“The recovery request log page may contain a recovery procedure, in which more detail can be provided through a read buffer command.” ¶70). Conclusion Any inquiry concerning this communication or earlier communications from the examiner should be directed to SEAN KEVIN MCNAMARA whose telephone number is (703)756-1884. The examiner can normally be reached Monday-Friday 7:30-5:00 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, Bryce Bonzo can be reached at 571-272-3655. 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. /SEAN KEVIN MCNAMARA/Examiner, Art Unit 2113 /BRYCE P BONZO/Supervisory Patent Examiner, Art Unit 2113
Read full office action

Prosecution Timeline

Jul 30, 2025
Application Filed
Aug 06, 2026
Non-Final Rejection mailed — §103
Oct 05, 2026
Interview Requested
Oct 15, 2026
Applicant Interview (Telephonic)
Oct 15, 2026
Examiner Interview Summary

Precedent Cases

Applications granted by this same examiner with similar technology

Patent 12754792
SYSTEM AND METHOD FOR PRIORITIZING CODE VIOLATIONS USING MACHINE LEARNING AND DATASETS OF VULNERABLE AND VANILLA CODE SNIPPETS
1y 10m to grant Granted Oct 06, 2026
Patent 12743345
SYSTEMS AND METHODS FOR DATA RECOVERY
2y 11m to grant Granted Sep 22, 2026
Patent 12731071
ML UE CAPABILITY AND INABILITY
3y 8m to grant Granted Sep 08, 2026
Patent 12699642
EFFICIENT DIAGNOSIS OF LOGS BASED ON EVENTS
3y 4m to grant Granted Aug 04, 2026
Patent 12657091
BACKUP AND RESTORE FOR A HYBRID TRANSACTIONAL AND ANALYTICAL PROCESSING (HTAP) DATABASE
2y 2m to grant Granted Jun 16, 2026
Study what changed to get past this examiner. Based on 5 most recent grants.

Strategy Recommendation AI-generated — please review before filing

Get a prosecution strategy drawn from examiner precedents, rejection analysis, and claim mapping.
Typically takes 5-10 seconds — AI-generated, attorney review required before filing

Prosecution Projections

1-2
Expected OA Rounds
72%
Grant Probability
99%
With Interview (+33.7%)
2y 5m (~1y 2m remaining)
Median Time to Grant
Low
PTA Risk
Based on 29 resolved cases by this examiner. Grant probability derived from career allowance rate.

Sign in with your work email

Enter your email to receive a magic link. No password needed.

Personal email addresses (Gmail, Yahoo, etc.) are not accepted.

Free tier: 3 strategy analyses per month