Prosecution Insights
Last updated: April 19, 2026
Application No. 18/382,590

COMPUTATIONAL STORAGE DEVICE FOR EXECUTING OFFLOADING PROGRAM AND ELECTRONIC SYSTEM INCLUDING THE SAME

Non-Final OA §103
Filed
Oct 23, 2023
Examiner
ANYA, CHARLES E
Art Unit
2194
Tech Center
2100 — Computer Architecture & Software
Assignee
Samsung Electronics Co., Ltd.
OA Round
1 (Non-Final)
82%
Grant Probability
Favorable
1-2
OA Rounds
3y 2m
To Grant
99%
With Interview

Examiner Intelligence

Grants 82% — above average
82%
Career Allow Rate
727 granted / 891 resolved
+26.6% vs TC avg
Strong +34% interview lift
Without
With
+33.5%
Interview Lift
resolved cases with interview
Typical timeline
3y 2m
Avg Prosecution
41 currently pending
Career history
932
Total Applications
across all art units

Statute-Specific Performance

§101
11.2%
-28.8% vs TC avg
§103
61.1%
+21.1% vs TC avg
§102
6.8%
-33.2% vs TC avg
§112
10.4%
-29.6% vs TC avg
Black line = Tech Center average estimate • Based on career data from 891 resolved cases

Office Action

§103
DETAILED ACTION Claims 1-12, 14, 16 and 18-23 are pending in this application. 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 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. Claims 1 and 23 are rejected under 35 U.S.C. 103 as being unpatentable over U.S. Pub. No. 2020/0201692 A1 to Kachare et al. in view of U.S. Pub. No. 2014/0181804 A1 to Sakata et al. As to claim 1, Kachare teaches an electronic system comprising: a computational storage device (Device (SSD) 104/computational storage device) comprising a computing circuit and a memory device, wherein the computing circuit is configured to perform an offloading computing operation, and the memory device is configured to store an offloading program for the offloading computing operation (Device (SSD) 104/computational storage device) (“…Some embodiments of the present disclosure include methods and systems for offloading application functions to a computational storage device (e.g., an SSD with an embedded processor), which can, in some examples, lead to efficient and cost-effective data processing solutions. A smart storage device (e.g., an SSD with an embedded processor) may provide a platform for performing at least a portion of the data processing functions that may otherwise be performed by the host CPU processor. Performing those data processing functions inside a smart SSD or a similar storage device may provide benefits in terms of energy consumption, network bandwidth, CPU cycles, memory, etc. for a storage network…FIG. 1B illustrates a cost-based routing process, by the bridge kernel (e.g., bridge kernel hardware 110), to different kernels of the offloaded functions. In some embodiments, the system 100 enables relatively quick porting of offloaded functions (e.g., offloaded application function(s) 114) to a storage device such as smart SSD (e.g., storage device 104). In some embodiments, the user application(s) 106 running on a host (e.g., host 102) CPU may benefit from offloading some of the functions to the smart SSD (e.g., storage device 104). Usually, the functions that process lot of data stored in the SSD (e.g., storage device 104) can benefit from such offload. The offloaded functions (e.g., offloaded application function(s) 114) may be referred to as “kernels” (e.g., 126 (1), . . . , 126 (n), 126 (n+1), . . . , 126 (m))…” paragraphs 0028/0036); and a host (Host 102/host application (e.g., the user application(s) 106)) configured to transmit, in response to an offloading request, an offloading-related command (transfer those arguments (e.g., parameter values, memory pointers etc.) to the offloaded functions to be executed on the embedded processor/Step 201) for controlling the offloading computing operation (“…As mentioned above, some embodiments of the present disclosure include a method and a system for offloading application functions to a computational storage device such as a an SSD with an embedded processor such as an FPGA or a SSD controller or a discrete co-processor, for an efficient and cost effective data processing. Some embodiments may include an FPGA hardware-based bridge kernel that can serve as a proxy to the host (e.g., a host CPU) on behalf of offloaded functions. The bridge kernel may accept the arguments from the host driver and may transfer those arguments (e.g., parameter values, memory pointers etc.) to the offloaded functions to be executed on the embedded processor (e.g., an FPGA or a SSD controller or a discrete co-processor) as software kernels. The hardware and firmware pieces in other embodiments may serve as a bridge between applications running on the host and the software kernels. Such software kernels can then be moved into hardware for high performance, at a later point, transparently to the host. Therefore, the bridge kernel host interface can be used without further modification, which may enable users of the computational storage devices (e.g., smart SSDs) to develop use cases rapidly, for example, by porting their existing application function code base to the embedded processor (e.g., an FPGA or a SSD controller or a discrete co-processor) in the storage device…FIGS. 2A-2B illustrate an example flow of a host application (e.g., the user application(s) 106) interfacing with offloaded kernels. At 201, the bridge kernel (e.g., bridge kernel driver) may receive a call or invocation from an upper layer (e.g., host upper layer software 136, as shown in FIG. 4). At 202, the bridge kernel (e.g., bridge kernel driver) can store the host arguments (e.g., Arguments-1, . . . , Argument-n) into the host register interface (e.g., 300 of FIG. 3). At 203, the bridge kernel (e.g., bridge kernel driver) can allocate buffers (e.g., data buffers 122) for data processing. At 204, the bridge kernel (e.g., bridge kernel driver) can initialize other arguments needed by the offloaded application function(s) 114. At 205, the bridge kernel (e.g., bridge kernel driver) can fetch data into the buffers for processing. At 206, the bridge kernel (e.g., bridge kernel driver) can invoke the processing kernel. Once the data processing is finished, at 207, the system 100 can perform clean-up operation. At 208, the offloaded application function(s) 114, through the bridge kernel (e.g., bridge kernel driver), may return the call to the upper layer application software…” paragraphs 0029/0041/0051/0052). Kachare is silent with reference to transmit, in response to an offloading request from a virtual machine, and management information about the offloading program to the computational storage device, wherein the computational storage device is configured to delete the offloading program based on the management information. Sakata teaches transmit, in response to an offloading request from a virtual machine (upon receiving another virtual machine migration request from the destination host computer to migrate the one or more storage processes registered as virtual machines from the destination host computer back to the storage controller registered as a host computer), and management information about the offloading program to the computational storage device (Data Processing Management Table 112-08), wherein the computational storage device is configured to delete the offloading program based on the management information (the storage process offload control 402-03 deletes a record related to the deleted record of the data processing management table 112-08) (“…In specific embodiments, upon receiving another virtual machine migration request from the destination host computer to migrate the one or more storage processes registered as virtual machines from the destination host computer back to the storage controller registered as a host computer, the controller is operable to activate a target port on the storage controller to switch storage I/O (Input/Output) to the target port, send a request to the destination host computer to stop the one or more storage processes registered as virtual machines, and delete an offload target port on the storage controller used for offloading the one or more storage processes registered as virtual machines to the destination host computer…In step 05-07, the storage process offload control 402-03 configures the logical volume management table 112-06 and data processing management table 112-08 on the storage controller 210. In this embodiment 2, the storage process offload control 402-03 deletes a record related to the deleted target port (WWPN_4, 4th record of FIG. 3). Also, the storage process offload control 402-03 deletes a record related to the deleted target port (WWPN_4, 4th record of FIG. 4) of the data processing management table 112-08. In addition, the storage process offload control 402-03 configures the virtual performance information table 402-06 of the storage management server 400. In this embodiment 2, the storage process offload control 402-03 deletes a record related to the deleted record of the data processing management table 112-08 (4th record of FIG. 10). Also, the storage process offload control 402-03 changes the value of "Offloading Status" field related to the migrated VM_E (P3) of the data processing management table 112-08 from "Offloaded" to "Not offloaded."…In step 05-08, the storage process offload control 402-03 notifies the result of migration to the hypervisor for virtual machine 302-02 of host 300b. In step 05-09, the hypervisor for virtual machine 302-02 deletes migrated VM data from the host 300b…” paragraphs 0010/0098/0099). It would have been obvious to one of ordinary skill in the art before the effective filing date of the claim invention to modify the system of Kachare with the teaching of Sakata because the teaching of Sakata would improve the system of Kachare by providing a software-based emulation of a physical computer, running its own operating system (guest) and applications on a host machine to allow for VMs provide isolated, secure environments for running multiple operating systems simultaneously. As to claim 23, Kachare teaches a computational storage device comprising: a memory device configured to store an offloading program received from a host (Device (SSD) 104/computational storage device); a computing circuit (Host 102/host application (e.g., the user application(s) 106)) configured to perform an offloading computing operation by executing the offloading program (“…Some embodiments of the present disclosure include methods and systems for offloading application functions to a computational storage device (e.g., an SSD with an embedded processor), which can, in some examples, lead to efficient and cost-effective data processing solutions. A smart storage device (e.g., an SSD with an embedded processor) may provide a platform for performing at least a portion of the data processing functions that may otherwise be performed by the host CPU processor. Performing those data processing functions inside a smart SSD or a similar storage device may provide benefits in terms of energy consumption, network bandwidth, CPU cycles, memory, etc. for a storage network…FIG. 1B illustrates a cost-based routing process, by the bridge kernel (e.g., bridge kernel hardware 110), to different kernels of the offloaded functions. In some embodiments, the system 100 enables relatively quick porting of offloaded functions (e.g., offloaded application function(s) 114) to a storage device such as smart SSD (e.g., storage device 104). In some embodiments, the user application(s) 106 running on a host (e.g., host 102) CPU may benefit from offloading some of the functions to the smart SSD (e.g., storage device 104). Usually, the functions that process lot of data stored in the SSD (e.g., storage device 104) can benefit from such offload. The offloaded functions (e.g., offloaded application function(s) 114) may be referred to as “kernels” (e.g., 126 (1), . . . , 126 (n), 126 (n+1), . . . , 126 (m))…” paragraphs 0028/0036). Kachare is silent with reference to a management circuit configured to: receive management information about the offloading program from the host, and manage the offloading program based on the management information. Sakata teaches a management circuit configured to: receive management information (Data Processing Management Table 112-08) about the offloading program from the host, and manage the offloading program based on the management information (the storage process offload control 402-03 deletes a record related to the deleted record of the data processing management table 112-08) (“…In specific embodiments, upon receiving another virtual machine migration request from the destination host computer to migrate the one or more storage processes registered as virtual machines from the destination host computer back to the storage controller registered as a host computer, the controller is operable to activate a target port on the storage controller to switch storage I/O (Input/Output) to the target port, send a request to the destination host computer to stop the one or more storage processes registered as virtual machines, and delete an offload target port on the storage controller used for offloading the one or more storage processes registered as virtual machines to the destination host computer…In step 05-07, the storage process offload control 402-03 configures the logical volume management table 112-06 and data processing management table 112-08 on the storage controller 210. In this embodiment 2, the storage process offload control 402-03 deletes a record related to the deleted target port (WWPN_4, 4th record of FIG. 3). Also, the storage process offload control 402-03 deletes a record related to the deleted target port (WWPN_4, 4th record of FIG. 4) of the data processing management table 112-08. In addition, the storage process offload control 402-03 configures the virtual performance information table 402-06 of the storage management server 400. In this embodiment 2, the storage process offload control 402-03 deletes a record related to the deleted record of the data processing management table 112-08 (4th record of FIG. 10). Also, the storage process offload control 402-03 changes the value of "Offloading Status" field related to the migrated VM_E (P3) of the data processing management table 112-08 from "Offloaded" to "Not offloaded."…In step 05-08, the storage process offload control 402-03 notifies the result of migration to the hypervisor for virtual machine 302-02 of host 300b. In step 05-09, the hypervisor for virtual machine 302-02 deletes migrated VM data from the host 300b…” paragraphs 0010/0098/0099). It would have been obvious to one of ordinary skill in the art before the effective filing date of the claim invention to modify the system of Kachare with the teaching of Sakata because the teaching of Sakata would improve the system of Kachare by providing a software-based emulation of a physical computer, running its own operating system (guest) and applications on a host machine to allow for VMs provide isolated, secure environments for running multiple operating systems simultaneously. Claim 2 is rejected under 35 U.S.C. 103 as being unpatentable over U.S. Pub. No. 2020/0201692 A1 to Kachare et al. in View of U.S. Pub. No. 2014/0181804 A1 to Sakata et al. as applied to claim 1 above, and further in view of U.S. Pub. No. 20140/310709 A1 to Nirantar. As to claim 2, Kachare as modified by Sakata teaches the electronic system of claim 1, however it is silent with reference to wherein the host is configured to further monitor the offloading program and determine a feature of the offloading program based on a management policy, and wherein the management information comprises the feature of the offloading program that is determined based on the management policy. Nirantar teaches wherein the host (Mobile Device 150/Optimal Time Setting Module 208) is configured to further monitor the offloading program and determine a feature of the offloading program based on a management policy, and wherein the management information (information) comprises the feature of the offloading program that is determined based on the management policy (Application State Manager 206) (“…In some embodiments, the application state manager 206 can determine one or more time periods for performing the offloading techniques. For example, the optimal time setting module 208 can obtain information about the mobile device's operation including, for example, network usage, battery, CPU, memory and/or other resources. The information can be provided to the optimal time setting module 208 via, for example, the device state monitor 121 described in relation to FIG. 1 E. In some embodiments, the optimal time setting module 208 can receive instructions regarding the offloading time period(s) from a user, the application developer, the carrier or network operator, the device manufacturer, or the like. Some instructions may be given priority over others and may be received from either one or more input mechanisms on the device 250 or from the network 117 (FIG. 1A). Examples of these offloading time periods include off-peak or late night hours (e.g., from 10:00PM to 6:00AM) or during a time period in which low user activity or low battery power is detected. In some embodiments, the application state manager 206 can detect operation of a data intensive application on the mobile device and trigger the optimal time setting module 208 to offload operation of other mobile applications on the mobile device to a remote server. The offloading in this instance allows the mobile device to allocate more resources to the data intensive application that the user is interacting with and as a result, improves the user experience…The optimal time setting module 208, in determining the time period(s), can employ one or more suitable heuristics or algorithms, and can receive aids from a resource usage pattern detector 212 or other suitable tools. The resource usage pattern detector 212 can detect patterns of usage of resources such as CPU, memory, battery, network, or the like by applications. For example, one pattern that the resource usage pattern detector 212 can detect can be consumption of a large amount of network resource by an application 210A between 10 pm and 6 am. In some embodiments, the user can instruct the application state manager 206 in selecting which one or more of the applications (e.g., applications 210A-N) should be offloaded according to the techniques disclosed herein…” paragraphs 0111/0112). It would have been obvious to one of ordinary skill in the art before the effective filing date of the claim invention to modify the system of Kachare and Sakata with the teaching of Nirantar because the teaching of Nirantar would improve the system of Kachare and Sakata by providing a optimal time setting module for receiving instructions regarding the offloading time period(s) from a user and optimally scheduling when to offload applications (Nirantar paragraphs 0111/0112). Claims 3 and 4 are rejected under 35 U.S.C. 103 as being unpatentable over U.S. Pub. No. 2020/0201692 A1 to Kachare et al. in View of U.S. Pub. No. 2014/0181804 A1 to Sakata et al. as applied to claim 2 above, and further in view of U.S. Pub. No. 20140310709 A1 to Nirantar and further in view of U.S. Pub. No. 2015/0373107 A1 to Chan et al. As to claim 3, Kachare as modified by Sakata and Nirantar teaches the electronic system of claim 2, however it is silent with reference to wherein the host is configured to further periodically or aperiodically update the management information based on the management policy. Chan teaches wherein the host is configured to further periodically or aperiodically update the management information based on the management policy (periodically updated status information) (“…Further, in response to the selection of the offloaded application, the launcher may communicate with the data management module to cause the data management module to onload and install the selected application as quickly as possible. In response, the data management module may download the application and the associated application data, including previously save state information for the application. Further, the launcher may provide the user with periodically updated status information as the downloading and other onloading of the selected application progresses. As one example, rather than removing all traces of an application during uninstalling and/or otherwise offloading of the application, the data management module may maintain metadata for each application whether the application is currently installed or offloaded. As one example, when an application is offloaded, metadata of the application may be left on the electronic device so that the OS launcher and third party launchers on the electronic device are able to determine that an offloaded application exists and is available to be restored onto the electronic device if selected by the user…” paragraph 0007). It would have been obvious to one of ordinary skill in the art before the effective filing date of the claim invention to modify the system of Kachare, Sakata and Nirantar with the teaching of Chan because the teaching of Chan would improve the system of Kachare, Sakata and Nirantar by providing a technique that allows for periodic status update of computer processing that ensures synchronized and consistent information. As to claim 4, Kachare as modified by Sakata and Nirantar the electronic system of claim 3, however it is silent with reference to wherein the management policy is set based on at least one of a frequency of access to the offloading program, a security level of the offloading program, and a setting of the virtual machine about whether to delete the offloading program. Chan teaches wherein the management policy is set based on at least one of a frequency of access to the offloading program, a security level of the offloading program, and a setting of the virtual machine about whether to delete the offloading program (“…In some cases, the data management module 110 may employ one or more observed user data usage patterns, priority rules, expressed user preferences, or other application ranking techniques when determining applications to offload or onload. The data management module 110 may determine which applications 116 are likely to be used by the user 104 in the near future and which applications 116 may be offloaded. As one example, the data management module 110 may rank the applications 116, based at least in part on how recently each application has been used, how often each application is used, how much storage space each application uses, or a combination thereof. For instance, certain applications that are used less frequently and/or that utilize a large amount of storage space may be automatically offloaded to the network storage location or recommended for offloading. Thus, an application may be offloaded based on expiration of a threshold length of time since the last use, based on how infrequently the application has been used over a period of time, based on the application using a threshold amount of storage space, based on the amount of storage space remaining on the electronic device falling below a threshold level, or the like…” paragraph 0051). It would have been obvious to one of ordinary skill in the art before the effective filing date of the claim invention to modify the system of Kachare, Sakata and Nirantar with the teaching of Chan because the teaching of Chan would improve the system of Kachare, Sakata and Nirantar by providing a technique that allows for periodic status update of computer processing that ensures synchronized and consistent information. Claim 5 is rejected under 35 U.S.C. 103 as being unpatentable over U.S. Pub. No. 2020/0201692 A1 to Kachare et al. in View of U.S. Pub. No. 2014/0181804 A1 to Sakata et al. and further in view of U.S. Pub. No. 20140310709 A1 to Nirantar and further in view of U.S. Pub. No. 2015/0373107 A1 to Chan et al. as applied to claim 3 above, and further in view of U.S. Pub. No. 2020/0394053 A1 to Jain et al. As to claim 5, Kachare as modified by Sakata and Nirantar teaches the electronic system of claim 3, however it is silent with reference to wherein the feature comprises a first feature indicating whether a status of the offloading program is hot/cold according to a frequency of access to the offloading program, and wherein the computational storage device is configured to further delete the offloading program when the feature of the offloading program corresponds to cold. Jain teaches wherein the feature comprises a first feature indicating whether a status of the offloading program is hot/cold according to a frequency (particular time period/usage time) of access to the offloading program (monitoring service), and wherein the computational storage device is configured to further delete the offloading program when the feature of the offloading program corresponds to cold (delete) (“…To enable this offloading, an offloading and monitoring service can be employed to track how long each application is used on the thin client during a particular time period. Based on this usage of each application, the service can assign a rank to each application. The service can also monitor the amount of free space on the disk to determine whether it has fallen below a defined low disk threshold. If so, the service can employ the ranks to identify applications to be offloaded. The service can offload the applications by copying an install location folder for each application to a remote repository and then deleting each copied install location folder. When the thin client includes a write filter, the service can commit the deletes of the install location folders so that the applications will remain offloaded after reboot. Data files may also be offloaded in a similar manner…In some embodiments, the present invention is implemented by a service that executes on a computing device as a method for selectively offloading applications from the computing device. The service can periodically monitor which application a user of the computing device is using. Based on the monitoring, the service can maintain a usage time of each of a plurality of applications that the user has used over a period of time. Each usage time represents how long the user has used the respective application during the period of time. The service can also detect that free space available on a disk of the computing device has fallen below a defined threshold. In response to the detection, the service can identify one or more of the plurality of applications to be offloaded based on the usage time maintained for the respective application. The service can then offload each of the one or more identified applications…Turning to FIG. 5E, with install location folder 500 offloaded to remote repository 350a, in step 3d, service 300 can update application table 301a by setting the Offloaded field for Acrobat Reader to Yes. Also, in step 3e, service 300 can delete the install location folder 500 from disk 100. In embodiments that employ write filter 110, step 3e can include deleting the folder (which, due to the write filter, will cause the deletion to be reflected in the overlay while the folder remains on disk 100) and then committing the deletion to disk 100 (which will cause the folder to be deleted from disk 100). Without committing the delete, the offloaded application would reappear after reboot…” paragraphs 0008/009/0049). It would have been obvious to one of ordinary skill in the art before the effective filing date of the claim invention to modify the system of Kachare, Sakata, Nirantar and Chan with the teaching of Jain because the teaching of Jain would improve the system of Kachare, Sakata, Nirantar and Chan by providing a technique for deleting or uninstalling unused application to free and reuse computing memory resources. Claims 7 and 12 are rejected under 35 U.S.C. 103 as being unpatentable over U.S. Pub. No. 2020/0201692 A1 to Kachare et al. in View of U.S. Pub. No. 2014/0181804 A1 to Sakata et al. as applied to claim 1 above, and further in view of U.S. Pub. No. 2020/0394053 A1 to Jain et al. As to claim 7, Kachare as modified by Sakata teaches the electronic system of claim 1, however it is silent with reference to wherein the management information comprises a reference frequency of a frequency of access to the offloading program, and wherein the computational storage device is configured to further delete the offloading program when the frequency of access to the offloading program is less than the reference frequency. Jain teaches wherein the management information comprises a reference frequency of a frequency of access (particular time period/usage time) to the offloading program (monitoring service), and wherein the computational storage device is configured to further delete the offloading program when the frequency of access to the offloading program is less than the reference frequency (delete) (“…To enable this offloading, an offloading and monitoring service can be employed to track how long each application is used on the thin client during a particular time period. Based on this usage of each application, the service can assign a rank to each application. The service can also monitor the amount of free space on the disk to determine whether it has fallen below a defined low disk threshold. If so, the service can employ the ranks to identify applications to be offloaded. The service can offload the applications by copying an install location folder for each application to a remote repository and then deleting each copied install location folder. When the thin client includes a write filter, the service can commit the deletes of the install location folders so that the applications will remain offloaded after reboot. Data files may also be offloaded in a similar manner…In some embodiments, the present invention is implemented by a service that executes on a computing device as a method for selectively offloading applications from the computing device. The service can periodically monitor which application a user of the computing device is using. Based on the monitoring, the service can maintain a usage time of each of a plurality of applications that the user has used over a period of time. Each usage time represents how long the user has used the respective application during the period of time. The service can also detect that free space available on a disk of the computing device has fallen below a defined threshold. In response to the detection, the service can identify one or more of the plurality of applications to be offloaded based on the usage time maintained for the respective application. The service can then offload each of the one or more identified applications…Turning to FIG. 5E, with install location folder 500 offloaded to remote repository 350a, in step 3d, service 300 can update application table 301a by setting the Offloaded field for Acrobat Reader to Yes. Also, in step 3e, service 300 can delete the install location folder 500 from disk 100. In embodiments that employ write filter 110, step 3e can include deleting the folder (which, due to the write filter, will cause the deletion to be reflected in the overlay while the folder remains on disk 100) and then committing the deletion to disk 100 (which will cause the folder to be deleted from disk 100). Without committing the delete, the offloaded application would reappear after reboot…” paragraphs 0008/009/0049). It would have been obvious to one of ordinary skill in the art before the effective filing date of the claim invention to modify the system of Kachare and Sakata with the teaching of Jain because the teaching of Jain would improve the system of Kachare and Sakata by providing a technique for deleting or uninstalling unused application to free and reuse computing memory resources. As to claim 12, Kachare as modified by Sakata the electronic system of claim 1, however it is silent with reference to wherein the host is configured to further manage a first offloading program table including a mapping entry corresponding to the offloading program that has been stored in the computational storage device, and wherein the first offloading program table comprises the management information about the offloading program. Jain teaches wherein the host is configured to further manage a first offloading program table including a mapping entry corresponding to the offloading program that has been stored in the computational storage device (Application Table 301a), and wherein the first offloading program table comprises the management information about the offloading program (“… FIGS. 5D and 5E illustrate how service 300 can identify and offload an application based on the ranks defined in application table 301a. In step 3a, service 300 can access application table 301a to identify which application has been assigned the highest rank. In this example, service 300 will identify the entry for Acrobat Reader. Additionally, service 300 can read the value of the InstallLocation field in the identified entry which in this example is “C:\Program Files\Adobe\Acrobat Reader…” paragraphs 0046). It would have been obvious to one of ordinary skill in the art before the effective filing date of the claim invention to modify the system of Kachare and Sakata with the teaching of Jain because the teaching of Jain would improve the system of Kachare and Sakata by providing a data structure for organizing data or information for determining which computing processing to be carried out. Claims 8 and 11 are rejected under 35 U.S.C. 103 as being unpatentable over U.S. Pub. No. 2020/0201692 A1 to Kachare et al. in View of U.S. Pub. No. 2014/0181804 A1 to Sakata et al. as applied to claim 1 above, and further in view of U.S. Pub. No. 2021/0279185 A1 to Lim. As to claim 8, Kachare as modified by Sakata the electronic system of claim 1, however it is silent with reference to wherein the management information is transmitted with the offloading-related command. Lim teaches wherein the management information (When requesting the offload processing of the application, the host 10 may transmit, to the data processing system 100, operation control information and an initial parameter (or the address of a memory region in which the initial parameter has been stored). The operation control information may include the type of application to be executed by the data processing system 100, a program code of the application, or the storage address of the program code) is transmitted with the offloading-related command (“…The host 10 may provide various services to a user through a user interface (not illustrated). To this end, the host 10 may transmit a request, address, and/or associated data to the data processing system 100, and may receive the results of the processing from the data processing system 100…The data processing system 100 may process (or operate) a corresponding operation in response to the request and the address received from the host 10, and may transmit to the host 10 data obtained via the results of the processing…The host 10 may request data input and/or output from the data processing system 100, or may request that the data processing system 100 offload an application accompanied by data input and output and to process (or execute) the application. When requesting the offload processing of the application, the host 10 may transmit, to the data processing system 100, operation control information and an initial parameter (or the address of a memory region in which the initial parameter has been stored). The operation control information may include the type of application to be executed by the data processing system 100, a program code of the application, or the storage address of the program code. The initial parameter may include initial data used to execute the program code or the address stored the initial data…The data processing system 100 may process the request of the host in response to the operation control information and the initial parameter. In this case, an offload processing of the application means that an operation of the host 10 is entrusted to another device, such as the data processing system 100…” paragraphs 0024-0027). It would have been obvious to one of ordinary skill in the art before the effective filing date of the claim invention to modify the system of Kachare and Sakata with the teaching of Lim because the teaching of Lim would improve the system of Kachare and Sakata by providing operation control information thar includes the type of application and a program code of the application for execution by the data processing system 100 to allow for offload processing. As to claim 11, Kachare teaches the electronic system of claim 8, wherein the offloading-related command includes a program download command, a data loading command, a program execution command (transfer those arguments (e.g., parameter values, memory pointers etc.) to the offloaded functions to be executed on the embedded processor/Step 201), or a result data read command (“…As mentioned above, some embodiments of the present disclosure include a method and a system for offloading application functions to a computational storage device such as a an SSD with an embedded processor such as an FPGA or a SSD controller or a discrete co-processor, for an efficient and cost effective data processing. Some embodiments may include an FPGA hardware-based bridge kernel that can serve as a proxy to the host (e.g., a host CPU) on behalf of offloaded functions. The bridge kernel may accept the arguments from the host driver and may transfer those arguments (e.g., parameter values, memory pointers etc.) to the offloaded functions to be executed on the embedded processor (e.g., an FPGA or a SSD controller or a discrete co-processor) as software kernels. The hardware and firmware pieces in other embodiments may serve as a bridge between applications running on the host and the software kernels. Such software kernels can then be moved into hardware for high performance, at a later point, transparently to the host. Therefore, the bridge kernel host interface can be used without further modification, which may enable users of the computational storage devices (e.g., smart SSDs) to develop use cases rapidly, for example, by porting their existing application function code base to the embedded processor (e.g., an FPGA or a SSD controller or a discrete co-processor) in the storage device…FIGS. 2A-2B illustrate an example flow of a host application (e.g., the user application(s) 106) interfacing with offloaded kernels. At 201, the bridge kernel (e.g., bridge kernel driver) may receive a call or invocation from an upper layer (e.g., host upper layer software 136, as shown in FIG. 4). At 202, the bridge kernel (e.g., bridge kernel driver) can store the host arguments (e.g., Arguments-1, . . . , Argument-n) into the host register interface (e.g., 300 of FIG. 3). At 203, the bridge kernel (e.g., bridge kernel driver) can allocate buffers (e.g., data buffers 122) for data processing. At 204, the bridge kernel (e.g., bridge kernel driver) can initialize other arguments needed by the offloaded application function(s) 114. At 205, the bridge kernel (e.g., bridge kernel driver) can fetch data into the buffers for processing. At 206, the bridge kernel (e.g., bridge kernel driver) can invoke the processing kernel. Once the data processing is finished, at 207, the system 100 can perform clean-up operation. At 208, the offloaded application function(s) 114, through the bridge kernel (e.g., bridge kernel driver), may return the call to the upper layer application software…” paragraphs 0029/0041/0051/0052). Claim 9 is rejected under 35 U.S.C. 103 as being unpatentable over U.S. Pub. No. 2020/0201692 A1 to Kachare et al. in View of U.S. Pub. No. 2014/0181804 A1 to Sakata et al. and further in view of U.S. Pub. No. 20210279185 A1 to Lim as applied to claim 8 above, and further in view of W.O. No. 2005017758 A1 to Shoji et al. As to claim 9, Kachare as modified by Sakata and Lim teaches the electronic system of claim 8, however it is silent with reference to wherein the management information comprises first information indicating whether to perform self-deletion of the offloading program at a predetermined time after completion of the offloading computing operation performed using the offloading program. Shoji teaches wherein the management information comprises first information indicating whether to perform self-deletion of the offloading program at a predetermined time after completion of the offloading computing operation performed using the offloading program (When the operation in the computer is completed, the control program is automatically deleted) (“…Further, the computer has a function of automatically deleting the control program installed in the computer. When the operation in the computer is completed, the control program is automatically deleted and does not remain in the computer. As described above, the first embodiment of the present invention provides the electronic data management device 1 and the control program stored in the electronic data management device 1. The control program is installed in a computer to which the electronic data management device 1 is connected, and a system capable of grasping a situation in which user data is used in the computer according to the first embodiment of the present invention. Is provided…” paragraph 0032). It would have been obvious to one of ordinary skill in the art before the effective filing date of the claim invention to modify the system of Kachare, Sakata and Lim with the teaching of Shoji because the teaching of Shoji would improve the system of Kachare, Sakata and Lim by providing a mechanism for optimally managing computing resource usage. Claim 10 is rejected under 35 U.S.C. 103 as being unpatentable over U.S. Pub. No. 2020/0201692 A1 to Kachare et al. in view of U.S. Pub. No. 2014/0181804 A1 to Sakata et al. and further in view of U.S. Pub. No. 2021/0279185 A1 to Lim as applied to claim 8 above, and further in view of J.P.O. No. 2005128593 A to Masuda. As to claim 10, Kachare as modified by Sakata and Lim teaches the electronic system of claim 8, however it is silent with reference to wherein the management information comprises: first information about a timer that expires after a certain time from completion of the offloading computing operation; and second information indicating whether to perform self-deletion when the timer expires. Masuda teaches wherein the management information comprises: first information about a timer that expires after a certain time from completion of the offloading computing operation (fixed expiration date); and second information indicating whether to perform self-deletion when the timer expires (software deletion program is automatically executed) (“…In application software with a fixed expiration date, the expiration date is registered in the computer at the time of setup, and when it is executed after the expiration date, the software deletion program is automatically executed. 2. In application software with a fixed usage period, the usage period is registered in the computer at the time of setup, and after the usage period expires, re-setup is prohibited even if it is deleted. 3. Combination of basic software with (1) application software with a limited expiration date and (2) means for executing the specified function at the specified date and time, and means for registering the specified function in the execution function The function for deleting the software is registered at the time when the expiration date is set at the time of setup. When the expiration date comes, the application software is deleted based on the function of the basic software. By implementing the means described above, the above-mentioned problems are solved…”). It would have been obvious to one of ordinary skill in the art before the effective filing date of the claim invention to modify the system of Kachare, Sakata and Lim with the teaching of Masuda because the teaching of Masuda would improve the system of Kachare, Sakata and Lim by providing a mechanism for restricting or controlling who can have access or use a particular application. Claim 14 is rejected under 35 U.S.C. 103 as being unpatentable over U.S. Pub. No. 2020/0201692 A1 to Kachare et al. in View of U.S. Pub. No. 2014/0181804 A1 to Sakata et al. and further in view of U.S. Pub. No. 2020/0394053 A1 to Jain et al. as applied to claim 12 above, and further in view of J.P.O. No. 2019114025 A to Harada. As to claim 14, Kachare as modified by Sakata and Jain the electronic system of claim 12, however it is silent with reference to wherein the computational storage device is configured to further transmit, to the host, a notification signal indicating that the offloading program has been deleted, and wherein the host is configured to further update the first offloading program table based on the notification signal. Harada teaches wherein the computational storage device is configured to further transmit, to the host (Host OS 10), a notification signal indicating that the program has been deleted (Notification Processing Unit 26), and wherein the host is configured to further update the first offloading program table based on the notification signal (Information Storage Unit 12) (“…The guest operating system further comprises A notification processing unit configured to notify the host operating system when the driver program is uninstalled; The host operating system further The information processing according to any one of claims 1 to 4, further comprising: deletion processing means for deleting the association information corresponding to the uninstalled driver program from the association information storage means in response to the notification. apparatus…The guest OS 20 further includes a notification processing unit 26 that notifies the host OS 10 when the driver program is uninstalled by the uninstallation unit 25. The host OS 10 is further uninstalled in response to the notification. A deletion processing unit 15 for deleting association information corresponding to a driver program from the association information storage unit 12 is provided. Therefore, it is possible to prevent the control authority of the external device 1 from being erroneously given…”). It would have been obvious to one of ordinary skill in the art before the effective filing date of the claim invention to modify the system of Kachare, Sakata and Jain with the teaching of Harada because the teaching of Harada would improve the system of Kachare, Sakata and Jain by providing a technique for reclaiming computing memory resources for other processing. Claims 16 and 18 are rejected under 35 U.S.C. 103 as being unpatentable over U.S. Pub. No. 2020/0201692 A1 to Kachare et al. in view of U.S. Pub. No. 2014/0181804 A1 to Sakata et al. and further in view of U.S. Pub. No. 2022/0398442 A1 to Jones. As to claim 16, Kachare teaches an electronic system comprising: a computational storage device (Device (SSD) 104/computational storage device), wherein each computational storage device is configured to: store at least one offloading program from among a plurality of offloading programs (Device (SSD) 104/computational storage device), and perform an offloading computing operation based on the stored at least one offloading program (“…Some embodiments of the present disclosure include methods and systems for offloading application functions to a computational storage device (e.g., an SSD with an embedded processor), which can, in some examples, lead to efficient and cost-effective data processing solutions. A smart storage device (e.g., an SSD with an embedded processor) may provide a platform for performing at least a portion of the data processing functions that may otherwise be performed by the host CPU processor. Performing those data processing functions inside a smart SSD or a similar storage device may provide benefits in terms of energy consumption, network bandwidth, CPU cycles, memory, etc. for a storage network…FIG. 1B illustrates a cost-based routing process, by the bridge kernel (e.g., bridge kernel hardware 110), to different kernels of the offloaded functions. In some embodiments, the system 100 enables relatively quick porting of offloaded functions (e.g., offloaded application function(s) 114) to a storage device such as smart SSD (e.g., storage device 104). In some embodiments, the user application(s) 106 running on a host (e.g., host 102) CPU may benefit from offloading some of the functions to the smart SSD (e.g., storage device 104). Usually, the functions that process lot of data stored in the SSD (e.g., storage device 104) can benefit from such offload. The offloaded functions (e.g., offloaded application function(s) 114) may be referred to as “kernels” (e.g., 126 (1), . . . , 126 (n), 126 (n+1), . . . , 126 (m))…” paragraphs 0028/0036); and a host (Host 102/host application (e.g., the user application(s) 106)) configured to transmit, in response to a plurality of offloading requests, a plurality of offloading-related commands, each offloading-related command controlling an offloading computing operation of a corresponding one of the computational storage device (“…Some embodiments of the present disclosure include methods and systems for offloading application functions to a computational storage device (e.g., an SSD with an embedded processor), which can, in some examples, lead to efficient and cost-effective data processing solutions. A smart storage device (e.g., an SSD with an embedded processor) may provide a platform for performing at least a portion of the data processing functions that may otherwise be performed by the host CPU processor. Performing those data processing functions inside a smart SSD or a similar storage device may provide benefits in terms of energy consumption, network bandwidth, CPU cycles, memory, etc. for a storage network…FIG. 1B illustrates a cost-based routing process, by the bridge kernel (e.g., bridge kernel hardware 110), to different kernels of the offloaded functions. In some embodiments, the system 100 enables relatively quick porting of offloaded functions (e.g., offloaded application function(s) 114) to a storage device such as smart SSD (e.g., storage device 104). In some embodiments, the user application(s) 106 running on a host (e.g., host 102) CPU may benefit from offloading some of the functions to the smart SSD (e.g., storage device 104). Usually, the functions that process lot of data stored in the SSD (e.g., storage device 104) can benefit from such offload. The offloaded functions (e.g., offloaded application function(s) 114) may be referred to as “kernels” (e.g., 126 (1), . . . , 126 (n), 126 (n+1), . . . , 126 (m))…” paragraphs 0028/0036). Kachare is silent with reference to transmit, in response to an offloading request from a virtual machine, a plurality of computational storage devices, and a plurality of pieces of management information, each piece of management information being about at least one offloading program stored in a corresponding one of the plurality of computational storage devices to the plurality of computational storage devices. Sakata teaches transmit, in response to an offloading request from a virtual machine (upon receiving another virtual machine migration request from the destination host computer to migrate the one or more storage processes registered as virtual machines from the destination host computer back to the storage controller registered as a host computer), and a plurality of pieces of management information (Data Processing Management Table 112-08), each piece of management information being about at least one offloading program stored in a corresponding one of the plurality of computational storage devices to the plurality of computational storage devices (the storage process offload control 402-03 deletes a record related to the deleted record of the data processing management table 112-08) (“…In specific embodiments, upon receiving another virtual machine migration request from the destination host computer to migrate the one or more storage processes registered as virtual machines from the destination host computer back to the storage controller registered as a host computer, the controller is operable to activate a target port on the storage controller to switch storage I/O (Input/Output) to the target port, send a request to the destination host computer to stop the one or more storage processes registered as virtual machines, and delete an offload target port on the storage controller used for offloading the one or more storage processes registered as virtual machines to the destination host computer…In step 05-07, the storage process offload control 402-03 configures the logical volume management table 112-06 and data processing management table 112-08 on the storage controller 210. In this embodiment 2, the storage process offload control 402-03 deletes a record related to the deleted target port (WWPN_4, 4th record of FIG. 3). Also, the storage process offload control 402-03 deletes a record related to the deleted target port (WWPN_4, 4th record of FIG. 4) of the data processing management table 112-08. In addition, the storage process offload control 402-03 configures the virtual performance information table 402-06 of the storage management server 400. In this embodiment 2, the storage process offload control 402-03 deletes a record related to the deleted record of the data processing management table 112-08 (4th record of FIG. 10). Also, the storage process offload control 402-03 changes the value of "Offloading Status" field related to the migrated VM_E (P3) of the data processing management table 112-08 from "Offloaded" to "Not offloaded."…In step 05-08, the storage process offload control 402-03 notifies the result of migration to the hypervisor for virtual machine 302-02 of host 300b. In step 05-09, the hypervisor for virtual machine 302-02 deletes migrated VM data from the host 300b…” paragraphs 0010/0098/0099). It would have been obvious to one of ordinary skill in the art before the effective filing date of the claim invention to modify the system of Kachare with the teaching of Sakata because the teaching of Sakata would improve the system of Kachare by providing a software-based emulation of a physical computer, running its own operating system (guest) and applications on a host machine to allow for VMs provide isolated, secure environments for running multiple operating systems simultaneously. Jones teaches a plurality of computational storage devices (CSDs 320) (“…By incorporating deep learning on the drive through a machine learning coprocessor (e.g., a deep learning processor), the CSD may enable highly parallel workloads across a plurality of CSDs. One such example of an environment for use of CSDs 320 to facilitate a highly parallel workloads is shown in FIG. 3. In FIG. 3, a plurality of CSDs 320 are in operative communication with a host 310 via a network 330. As can be appreciated, the CSDs 320 may comprise a single CSD 320a at a given network location or may include a plurality of locally situated CSDs 320b. In any regard and as will be further illustrated in the detailed description below, the host 310 may coordinate with the CSDs 320 such that the CSDs 320 may each execute a machine learning model using a local machine learning coprocessor on locally stored data from respective ones of the storage media at the CSDs. Example use models of CSD drives such as those illustrated in FIG. 3 may include facial recognition parallelized across drives (searching for a face across drives that includes facial data), preprocessing of data to be used in larger convolutional neural networks (such as processing an image with max-pooling and returning this image for use by an external convolutional neural network), natural language processing with local processing of text data stored at the drive, or other approaches without limit…” paragraph 0027). It would have been obvious to one of ordinary skill in the art before the effective filing date of the claim invention to modify the system of Kachare and Sakata with the teaching of Jones because the teaching of Jones would improve the system of Kachare and Sakata by providing a technique for enabling highly parallel workloads across a plurality of CSDs to allow for faster and more efficient computer processing. As to claim 18, Sakata teaches the electronic system of claim 16, wherein the plurality of computational storage devices are further configured to delete the stored at least one offloading program based on at least one of the plurality of pieces of management information (the storage process offload control 402-03 deletes a record related to the deleted record of the data processing management table 112-08) (“…In specific embodiments, upon receiving another virtual machine migration request from the destination host computer to migrate the one or more storage processes registered as virtual machines from the destination host computer back to the storage controller registered as a host computer, the controller is operable to activate a target port on the storage controller to switch storage I/O (Input/Output) to the target port, send a request to the destination host computer to stop the one or more storage processes registered as virtual machines, and delete an offload target port on the storage controller used for offloading the one or more storage processes registered as virtual machines to the destination host computer…In step 05-07, the storage process offload control 402-03 configures the logical volume management table 112-06 and data processing management table 112-08 on the storage controller 210. In this embodiment 2, the storage process offload control 402-03 deletes a record related to the deleted target port (WWPN_4, 4th record of FIG. 3). Also, the storage process offload control 402-03 deletes a record related to the deleted target port (WWPN_4, 4th record of FIG. 4) of the data processing management table 112-08. In addition, the storage process offload control 402-03 configures the virtual performance information table 402-06 of the storage management server 400. In this embodiment 2, the storage process offload control 402-03 deletes a record related to the deleted record of the data processing management table 112-08 (4th record of FIG. 10). Also, the storage process offload control 402-03 changes the value of "Offloading Status" field related to the migrated VM_E (P3) of the data processing management table 112-08 from "Offloaded" to "Not offloaded."…In step 05-08, the storage process offload control 402-03 notifies the result of migration to the hypervisor for virtual machine 302-02 of host 300b. In step 05-09, the hypervisor for virtual machine 302-02 deletes migrated VM data from the host 300b…” paragraphs 0010/0098/0099). It would have been obvious to one of ordinary skill in the art before the effective filing date of the claim invention to modify the system of Kachare and Jones with the teaching of Sakata because the teaching of Sakata would improve the system of Kachare and Jones by providing a software-based emulation of a physical computer, running its own operating system (guest) and applications on a host machine to allow for VMs provide isolated, secure environments for running multiple operating systems simultaneously. Claims 19-22 are rejected under 35 U.S.C. 103 as being unpatentable over U.S. Pub. No. 2020/0201692 A1 to Kachare et al. in view of U.S. Pub. No. 2014/0181804 A1 to Sakata et al. and further in view of U.S. Pub. No. 20220398442 A1 to Jones as applied to claim 16 above, and further in view of U.S. Pub. No. 2015/0373107 A1 to Chan et al. As to claim 19, Kachare as modified by Sakata and Jones Chan teaches the electronic system of claim 16, however it is silent with reference to wherein the plurality of pieces of management information comprise a first feature based on a first management policy for some of the plurality of offloading programs, and a second feature based on a second management policy for the others of the plurality of offloading programs. Chan teaches wherein the plurality of pieces of management information comprise a first feature based on a first management policy for some of the plurality of offloading programs (user data usage patterns, priority rules, expressed user preferences), and a second feature based on a second management policy for the others of the plurality of offloading programs (user data usage patterns, priority rules, expressed user preferences) (“…In some implementations, the data management module 110 may dynamically manage the amount of available storage on the electronic device 102 by offloading some applications 116 from the electronic device 102. Thus, as indicated at 150, the data management module 110 may create space in the local storage by offloading one or more application files 117 from the electronic device 102 for storage at the network storage 108. Further, in some examples, the data management module 110 may also offload associated application data 118 and saved application state information 119. In some cases, the data management module 110 may automatically offload one or more of the applications 116 to the network storage 108, such as based on one or more user preferences or according to various heuristics such as based on detected patterns of usage…In some cases, the data management module 110 may employ one or more observed user data usage patterns, priority rules, expressed user preferences, or other application ranking techniques when determining applications to offload or onload. The data management module 110 may determine which applications 116 are likely to be used by the user 104 in the near future and which applications 116 may be offloaded. As one example, the data management module 110 may rank the applications 116, based at least in part on how recently each application has been used, how often each application is used, how much storage space each application uses, or a combination thereof. For instance, certain applications that are used less frequently and/or that utilize a large amount of storage space may be automatically offloaded to the network storage location or recommended for offloading. Thus, an application may be offloaded based on expiration of a threshold length of time since the last use, based on how infrequently the application has been used over a period of time, based on the application using a threshold amount of storage space, based on the amount of storage space remaining on the electronic device falling below a threshold level, or the like…” paragraphs 0044/0051). It would have been obvious to one of ordinary skill in the art before the effective filing date of the claim invention to modify the system of Kachare, Sakata and Jones with the teaching of Chan because the teaching of Chan would improve the system of Kachare, Sakata and Jones by providing a technique that allows for periodic status update of computer processing that ensures synchronized and consistent information. As to claim 20, Kachare as modified by Sakata and Jones Chan teaches the electronic system of claim 16, however it is silent with reference to wherein the host is configured further to: select at least one management policy from among a plurality of management policies, based on states of the plurality of computational storage devices, and generate the plurality of pieces of management information based on the selected at least one management policy. Chan teaches wherein the host is configured further to: select at least one management policy from among a plurality of management policies, based on states of the plurality of computational storage devices, and generate the plurality of pieces of management information based on the selected at least one management policy (user data usage patterns, priority rules, expressed user preferences) (“…In some implementations, the data management module 110 may dynamically manage the amount of available storage on the electronic device 102 by offloading some applications 116 from the electronic device 102. Thus, as indicated at 150, the data management module 110 may create space in the local storage by offloading one or more application files 117 from the electronic device 102 for storage at the network storage 108. Further, in some examples, the data management module 110 may also offload associated application data 118 and saved application state information 119. In some cases, the data management module 110 may automatically offload one or more of the applications 116 to the network storage 108, such as based on one or more user preferences or according to various heuristics such as based on detected patterns of usage…In some cases, the data management module 110 may employ one or more observed user data usage patterns, priority rules, expressed user preferences, or other application ranking techniques when determining applications to offload or onload. The data management module 110 may determine which applications 116 are likely to be used by the user 104 in the near future and which applications 116 may be offloaded. As one example, the data management module 110 may rank the applications 116, based at least in part on how recently each application has been used, how often each application is used, how much storage space each application uses, or a combination thereof. For instance, certain applications that are used less frequently and/or that utilize a large amount of storage space may be automatically offloaded to the network storage location or recommended for offloading. Thus, an application may be offloaded based on expiration of a threshold length of time since the last use, based on how infrequently the application has been used over a period of time, based on the application using a threshold amount of storage space, based on the amount of storage space remaining on the electronic device falling below a threshold level, or the like…” paragraph 0051). It would have been obvious to one of ordinary skill in the art before the effective filing date of the claim invention to modify the system of Kachare, Sakata and Jones with the teaching of Chan because the teaching of Chan would improve the system of Kachare, Sakata and Jones by providing a technique that allows for periodic status update of computer processing that ensures synchronized and consistent information. As to claim 21, Kachare as modified by Sakata and Jones Chan teaches the electronic system of claim 16, however it is silent with reference to wherein the host is configured to further transmit, to the plurality of computational storage devices, the plurality of pieces of management information in response to a request from the plurality of computational storage devices. Chan teaches wherein the host is configured to further transmit, to the plurality of computational storage devices, the plurality of pieces of management information in response to a request from the plurality of computational storage devices (user data usage patterns, priority rules, expressed user preferences) (“…In some implementations, the data management module 110 may dynamically manage the amount of available storage on the electronic device 102 by offloading some applications 116 from the electronic device 102. Thus, as indicated at 150, the data management module 110 may create space in the local storage by offloading one or more application files 117 from the electronic device 102 for storage at the network storage 108. Further, in some examples, the data management module 110 may also offload associated application data 118 and saved application state information 119. In some cases, the data management module 110 may automatically offload one or more of the applications 116 to the network storage 108, such as based on one or more user preferences or according to various heuristics such as based on detected patterns of usage…In some cases, the data management module 110 may employ one or more observed user data usage patterns, priority rules, expressed user preferences, or other application ranking techniques when determining applications to offload or onload. The data management module 110 may determine which applications 116 are likely to be used by the user 104 in the near future and which applications 116 may be offloaded. As one example, the data management module 110 may rank the applications 116, based at least in part on how recently each application has been used, how often each application is used, how much storage space each application uses, or a combination thereof. For instance, certain applications that are used less frequently and/or that utilize a large amount of storage space may be automatically offloaded to the network storage location or recommended for offloading. Thus, an application may be offloaded based on expiration of a threshold length of time since the last use, based on how infrequently the application has been used over a period of time, based on the application using a threshold amount of storage space, based on the amount of storage space remaining on the electronic device falling below a threshold level, or the like…” paragraph 0051). It would have been obvious to one of ordinary skill in the art before the effective filing date of the claim invention to modify the system of Kachare, Sakata and Jones with the teaching of Chan because the teaching of Chan would improve the system of Kachare, Sakata and Jones by providing a technique that allows for periodic status update of computer processing that ensures synchronized and consistent information. As to claim 22, Kachare as modified by Sakata and Jones Chan teaches the electronic system of claim 16, however it is silent with reference to wherein each of the plurality of pieces of management information is transmitted with a corresponding one of the plurality of offloading-related commands. Chan teaches wherein each of the plurality of pieces of management information is transmitted with a corresponding one of the plurality of offloading-related commands (Data Management Module 110) (“…IIn some implementations, the data management module 110 may dynamically manage the amount of available storage on the electronic device 102 by offloading some applications 116 from the electronic device 102. Thus, as indicated at 150, the data management module 110 may create space in the local storage by offloading one or more application files 117 from the electronic device 102 for storage at the network storage 108. Further, in some examples, the data management module 110 may also offload associated application data 118 and saved application state information 119. In some cases, the data management module 110 may automatically offload one or more of the applications 116 to the network storage 108, such as based on one or more user preferences or according to various heuristics such as based on detected patterns of usage…n some cases, the data management module 110 may employ one or more observed user data usage patterns, priority rules, expressed user preferences, or other application ranking techniques when determining applications to offload or onload. The data management module 110 may determine which applications 116 are likely to be used by the user 104 in the near future and which applications 116 may be offloaded. As one example, the data management module 110 may rank the applications 116, based at least in part on how recently each application has been used, how often each application is used, how much storage space each application uses, or a combination thereof. For instance, certain applications that are used less frequently and/or that utilize a large amount of storage space may be automatically offloaded to the network storage location or recommended for offloading. Thus, an application may be offloaded based on expiration of a threshold length of time since the last use, based on how infrequently the application has been used over a period of time, based on the application using a threshold amount of storage space, based on the amount of storage space remaining on the electronic device falling below a threshold level, or the like…” paragraph 0051). It would have been obvious to one of ordinary skill in the art before the effective filing date of the claim invention to modify the system of Kachare, Sakata and Jones with the teaching of Chan because the teaching of Chan would improve the system of Kachare, Sakata and Jones by providing a technique that allows for periodic status update of computer processing that ensures synchronized and consistent information. Allowable Subject Matter Claim 6 is objected to as being dependent upon a rejected base claim, but would be allowable if rewritten in independent form including all of the limitations of the base claim and any intervening claims. Reasons for Allowance The following is an examiner’s statement of reasons for allowance: The closest prior art of records, (U.S. Pub. No. 2020/0201692 A1 to Kachare et al. and U.S. Pub. No. 2014/0181804 A1 to Sakata et al.), taken alone or in combination do not specifically disclose or suggest the claimed recitations (claim 6), when taken in the context of claims as a whole. Any comments considered necessary by applicant must be submitted no later than the payment of the issue fee and, to avoid processing delays, should preferably accompany the issue fee. Such submissions should be clearly labeled “Comments on Statement of Reasons for Allowance.” Conclusion The prior art made of record and not relied upon is considered pertinent to applicant's disclosure. W.O. No. 2020186081 A1 to Mesnier et al. and directed to a computer system 100 that may include a host 102 and a block storage device 104 (e.g., a block-based storage device such as a SSD, a block- based storage server, including a computing process for sending a compute offload request to a compute offloader. U.S. Pub. No. 2020/0133531 A1 to Gaur et al. and directed to apparatus for transferring and Offloading Computational Operations to a Data Storage Device. U.S. Pub. No. 2015/0365463 A1 to Quan et al. and directed to an electronic device that offload an application to network storage using management module. U.S. Pub. No. 2020/0348959 A1 to Chlmer et al. and directed to processing request to a processing unit in response to a Offload Request. U.S. Pub. No. 2017/0286170 A1 to DE and directed to systems and methods for offloading processing from a host to one or more storage processing units using an interconnect network. U.S. Pub. No. 2008/0010290 A1 to Lecrone et al. and directed to offloading application processing from a host processor system includes providing a first part of the application on the host processor system and providing a second part of the application on a storage device containing data for the application. U.S. Pub. No. 2017/0060588 A1 to Choi and directed to computing system and method for processing operations thereof. Any inquiry concerning this communication or earlier communications from the examiner should be directed to CHARLES E ANYA whose telephone number is (571)272-3757. The examiner can normally be reached Mon-Fir. 9-6pm. 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, KEVIN YOUNG can be reached at 571-270-3180. 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. /CHARLES E ANYA/Primary Examiner, Art Unit 2194
Read full office action

Prosecution Timeline

Oct 23, 2023
Application Filed
Feb 07, 2026
Non-Final Rejection — §103
Mar 17, 2026
Interview Requested
Mar 26, 2026
Applicant Interview (Telephonic)
Mar 26, 2026
Examiner Interview Summary

Precedent Cases

Applications granted by this same examiner with similar technology

Patent 12591471
KNOWLEDGE GRAPH REPRESENTATION OF CHANGES BETWEEN DIFFERENT VERSIONS OF APPLICATION PROGRAMMING INTERFACES
2y 5m to grant Granted Mar 31, 2026
Patent 12591455
PARAMETER-BASED ADAPTIVE SCHEDULING OF JOBS
2y 5m to grant Granted Mar 31, 2026
Patent 12585510
METHOD AND SYSTEM FOR AUTOMATED EVENT MANAGEMENT
2y 5m to grant Granted Mar 24, 2026
Patent 12579014
METHOD AND A SYSTEM FOR PROCESSING USER EVENTS
2y 5m to grant Granted Mar 17, 2026
Patent 12572393
CONTAINER CROSS-CLUSTER CAPACITY SCALING
2y 5m to grant Granted Mar 10, 2026
Study what changed to get past this examiner. Based on 5 most recent grants.

AI Strategy Recommendation

Get an AI-powered prosecution strategy using examiner precedents, rejection analysis, and claim mapping.
Powered by AI — typically takes 5-10 seconds

Prosecution Projections

1-2
Expected OA Rounds
82%
Grant Probability
99%
With Interview (+33.5%)
3y 2m
Median Time to Grant
Low
PTA Risk
Based on 891 resolved cases by this examiner. Grant probability derived from career allow 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