DETAILED ACTION
This communication is in response to the application filed on November 3, 2025 in which claims 1-20 are pending in the application. Claims 1, 15, and 18 are in independent form.
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 .
Response to Amendment
This Final Office Action is in response to the applicant’s remarks and arguments filed on November 3, 2025.
No claims were canceled. Claims 1, 3, 15 and 18 were amended.
No claims were added.
Claims 1-20 remain pending in the application. Claims 1-20, filed are being considered on the merits.
The amendment to the specification dated November 3, 2025 introduces no new matter and has been approved.
The rejection of claim 8 under 35 USC 112(a) and (b), previously set forth in the Non-Final Office Action mailed on August 8, 2025, has been withdrawn due to the arguments presented by applicant on pages 9-10 of the remarks.
Response to Arguments
The applicant’s remarks and/or arguments, filed on November 3, 2025 have been fully considered with the following result(s).
The examiner is entitled to give claim limitations their broadest reasonable interpretation in light of the specification. See MPEP 2111 [R-1] Interpretation of Claims-Broadest Reasonable Interpretation. The applicant always has the opportunity to amend the claims during prosecution, and broad interpretation by the examiner reduces the possibility that the claim, once issued, will be interpreted more broadly than is justified. In re Prater, 162 USPQ 541,550-51 (CCPA 1969).
Applicant's arguments in the applicant’s remarks and amendments of independent claims 1, 15 and 18, found on pages 11-13 and filed on November 3,2025, have been fully considered and are persuasive. Therefore, the previous claim(s) rejection under 35 U.S.C 102 has been withdrawn.
However, upon further consideration, a new ground(s) of rejection is made in view of the previously cited prior art(s) Goyal et al., Candalaria et al., and Ebara et al., JP 2017174038 A. Ebara et al. discloses the timeout time management table 180 is an example of a session timeout time management table when different session timeout times are set based on the application type and the client device type. By setting an appropriate session timeout time for each session based on the application type and the client device type, it becomes possible to release the session by a timeout at an earlier stage than the session storage area related to the session in which processing is not executed (Page 11, Description of Fig. 8).
- For further details, please see below claims rejections under 35 USC 103.
Regarding claim 3, Applicant argues that the cited art fails to disclose or suggest "the data structure comprises first entries corresponding to destinations and second entries corresponding to dynamic timeouts, each of the destinations being adapted for data storage, and the data structure associating different ones of the destinations to different ones of the dynamic timeouts."
Ebara et al. discloses the timeout time management table 180 is an example of a session timeout time management table when different session timeout times are set based on the application type and the client device type (Page 11, Description of Fig. 8).
As such, the combination of references discloses the claimed invention.
Claim Rejections - 35 USC § 103
In the event the determination of the status of the application as subject to AIA 35 U.S.C. 102 and 103 (or as subject to pre-AIA 35 U.S.C. 102 and 103) is incorrect, any correction of the statutory basis (i.e., changing from AIA to pre-AIA ) for the rejection will not be considered a new ground of rejection if the prior art relied upon, and the rationale supporting the rejection, would be the same under either status.
The following is a quotation of 35 U.S.C. 103 which forms the basis for all obviousness rejections set forth in this Office action:
A patent for a claimed invention may not be obtained, notwithstanding that the claimed invention is not identically disclosed as set forth in section 102, if the differences between the claimed invention and the prior art are such that the claimed invention as a whole would have been obvious before the effective filing date of the claimed invention to a person having ordinary skill in the art to which the claimed invention pertains. Patentability shall not be negated by the manner in which the invention was made.
Claim(s) 1, 11-14, 15 and 18 is/are rejected under 35 U.S.C. 103 as being unpatentable over Goyal et al. (US 2015/0323956 A1) and Candelaria et al. (US 10,592,119 B2) and Ebara et al. (JP 2017174038 A).
As per claim 1, 15 and 18, Goyal discloses a method for managing data in a distributed system, the method comprising: identifying, by a host system of the distributed system, an occurrence of an input-output (IO) transaction event [Para 0023, The interface component 108 can be configured to monitor data transactions (e.g., data requests and/or data responses) between the master device 104 and the slave device 106];
based on the occurrence: obtaining, by the host system, an IO transaction based on the IO transaction event [Para 0028, the timeout component 110 can implement at least one clock counter (e.g., at least one timer) associated with a data request received from the master device 104 and/or sent to (e.g., forwarded to) the slave device 106];
identifying, by the host system, a destination for the IO transaction [Para 0028, the timeout component 110 can implement at least one clock counter (e.g., at least one timer) associated with a data request received from the master device 104 and/or sent to (e.g., forwarded to) the slave device 106];
identifying, by the host system, a dynamic timeout based on the destination [Para 0028, the timeout component 110 can implement a clock counter for each data request received by the interface component 108. As such, the timeout component 110 can maintain a plurality of clock counters corresponding to a total number of data requests received from the at least one master device 104];
initiating, by the host system, provisioning of the IO transaction to the destination [Para 0029, the interface component 108 can receive a data request from the master device 104 and/or forward the data request to the slave device 106];
initiating, by the host system, a timer to measure time from when the provisioning of the IO transaction is initiated [Para 0029, The threshold level can correspond to a predetermined period of time since the forwarding of the data request to the slave device 106];
making, by the host system and using the timer, a determination regarding whether a confirmation for the IO transaction is obtained from the destination prior to the measured time exceeding the dynamic timeout [Para 0029, the timeout component 110 can generate a timeout signal (e.g., an error response signal) in response to a determination that a threshold level associated with the clock counter is reached (e.g., a timer has expired) before receiving a data response associated with the data request from the slave device 106];
in a first instance of the determination where the confirmation is not received prior to the measured time exceeding the dynamic timeout: treating the IO transaction as having failed [Para 0029, the timeout component 110 can generate a timeout signal (e.g., an error response signal) in response to a determination that a threshold level associated with the clock counter is reached (e.g., a timer has expired) before receiving a data response associated with the data request from the slave device 106. The threshold level can correspond to a predetermined period of time since the forwarding of the data request to the slave device 106. As such, the interface component 108 can detect a timeout signal and/or generate an error response associated with a data request].
Although Goyal discloses Para 0023, a timeout mechanism can be implemented to facilitate generation of one or more data responses on behalf of a slave device. Goyal does not specifically teach “in a second instance of the determination where the confirmation is received prior to the measured time exceeding the dynamic timeout: treating the IO transaction as having completed.”
Candelaria discloses in a second instance of the determination where the confirmation is received prior to the measured time exceeding the dynamic timeout: treating the IO transaction as having completed [Page 2, lines 9-19, a response has been received from at least one other host system indicating that the at least one other host system successfully performed the action specified in the notify command].
Both Goyal and Candeleria are in the same field of endeavor and they are both in the storage access notification art and, therefore, are combinable/modifiable.
It would have been obvious to a person of ordinary skill in the art before the effective filing date of the claimed invention was made to modify the teachings of Goyal with the teachings of Candeleria in order to make the host aware of the effects of operations on data sets following the broadcast of an interrupt.
Modification would improve the performance of the system by quickly identifying data corruption and undetected data loss (Pg 1, lines 24-25).
The combination of Goyal and Candeleria does not specifically teach wherein a value of the dynamic timeout changes based on a type of the destination as recited in the claims.
Ebara et al. discloses the timeout time management table 180 is an example of a session timeout time management table when different session timeout times are set based on the application type and the client device type. By setting an appropriate session timeout time for each session based on the application type and the client device type, it becomes possible to release the session by a timeout at an earlier stage than the session storage area related to the session in which processing is not executed (Page 11, Description of Fig. 8).
Goyal and Candeleria and Ebara are in the same field of endeavor and they are both in the storage access notification art and, therefore, are combinable/modifiable.
It would have been obvious to a person of ordinary skill in the art before the effective filing date of the claimed invention was made to modify the teachings of Goyal and Candeleria with the teachings of Ebara in order to determine timeout values based on device types.
Modification would improve the performance of the system by providing dynamic detection by releasing the session by a timeout at an earlier stage than the session storage area related to the session in which processing is not executed as taught by Ebara (Page 11, Description of Fig. 8).
As per claim 11, Goyal discloses the method of claim 1, wherein the IO transaction is associated with a portion of data stored at the destination, and the host system is adapted to track at which destination the portion of the data is stored as the portion of the data is migrated between destinations of the distributed system over time [Para 0033-0034, store a transaction ID].
As per claim 12, Goyal discloses the method of claim 11, wherein each of the destinations are operably connected to the host system via network connectivity [Para 0024, 0096, 0099].
As per claim 13, Goyal discloses the method of claim 12, wherein each of the destinations provide data storage services to any number of host systems [Fig. 13, Para 0099, 0103].
As per claim 14, Goyal discloses the method of claim 13, wherein at least two of the destinations comprise data processing systems that have different IO transaction processing rates [Para 0099-0103].
Claim(s) 2-4, 16-17 and 19-20 is/are rejected under 35 U.S.C. 103 as being unpatentable over Goyal et al. (US 2015/0323956 A1) and Candelaria et al. (US 10,592,119 B2) and Ebara et al. (JP 2017174038 A) and further in view of Lifshitz et al. (US 11,979,341 B2).
As per claims 2, 16 and 19, Goyal and Candeleria and Ebara disclose the claimed invention as detailed above in claims 1, 15 and 18. Ebara further discloses using the destination as a key to identify the dynamic timeout for the destination [Page 11, Description of Fig. 8, the timeout time management table 180 is an example of a session timeout time management table when different session timeout times are set based on the application type and the client device type. By setting an appropriate session timeout time for each session based on the application type and the client device type, it becomes possible to release the session by a timeout at an earlier stage than the session storage area related to the session in which processing is not executed].
However, the combination of Goyal and Candeleria and Ebara do not specifically teach wherein identifying the dynamic timeout comprises: performing a look up in a data structure using the destination as a key to identify the dynamic timeout for the destination.
Lifshitz discloses wherein identifying the dynamic timeout comprises: performing a look up in a data structure using the destination as a key to identify the dynamic timeout for the destination [Page 3, lines 40-47, Based on the storage system accesses, a plurality of storage access notifications are sent to a message queue. A message queue timeout value is set for the message queue based on a characteristic of the set of storage system accesses.].
The combination of Goyal, Candeleria, Ebara and Lifshitz are in the same field of endeavor and they are both in the storage access notification art and, therefore, are combinable/modifiable.
It would have been obvious to a person of ordinary skill in the art before the effective filing date of the claimed invention was made to modify the teachings of Goyal and Candeleria and Ebara with the teachings of Lifshitz in order to implement certain automatic processing in response to storage system activity.
Modification would reduce the amount of extraneous time otherwise necessary to reconnect to and perform recovery processing, and to enhance real-time processing in response to notifications and to reduce resources of the host computer associated with maintaining connections (Lifshitz, Page 3, lines 50-60).
As per claims 3, 17 and 20, Ebara discloses wherein the data structure compromises first entries corresponding to destinations and second entries corresponding to dynamic timeouts, each of the destinations being adapted for data storage, and the data structure associating different ones of the destinations to different ones of the dynamic timeouts [Page 11, Description of Fig. 8, the timeout time management table 180 is an example of a session timeout time management table when different session timeout times are set based on the application type and the client device type].
As per claim 4, Candelaria discloses wherein the destinations comprise a private cloud destination and a public cloud destination [Page 5, lines 36-45, the reference discloses shared resources, it is inherent that local resources are also included in the system].
Claim(s) 5-8 and 10 is/are rejected under 35 U.S.C. 103 as being unpatentable over Goyal et al. (US 2015/0323956 A1) and Candelaria et al. (US 10,592,119 B2) and Ebara et al. (JP 2017174038 A) and Lifshitz et al. (US 11,979,341 B2) and further in view of Kairali et al. (US 11,563,636).
As per claim 5, Goyal and Candelaria, Ebara and Lifshitz teach the claimed invention as detailed above. However, the combination does not specifically teach the method of claim 4, wherein a dynamic timeout of the dynamic timeouts keyed to the private cloud destination is based on an average IO response time for IO transaction from the host system, the average IO response time being an average time between when the host system initiates test IO transactions with the private cloud destination and when confirmations of processing of the test IO transactions are received from the private cloud destination as recited in the claim.
Kairali teaches a dynamic timeout of the dynamic timeouts keyed to the private cloud destination is based on an average IO response time for IO transaction from the host system, the average IO response time being an average time between when the host system initiates test IO transactions with the private cloud destination and when confirmations of processing of the test IO transactions are received from the private cloud destination as recited in the claim [Col. 10, lines 8-60, teaches private and public clouds; Col. 19, line 30-Col. 20, line 53, Policy optimizer 550 can increase or decrease timeout values within the timeout configurations established by the network policies based on threshold levels configured by the service mesh 511 and/or administrators of the service mesh 511 (such as a cloud administrator); While tracking transactional timeouts and resource utilization, such as CPU, memory and storage, service mesh control plane 505 can track and identify timeouts that occur as a result of high resource utilization (i.e., resources being consumed above an average or median level for transactions executed by the same API call and/or microservice chain).].
Goyal, Candeleria, Ebara, Lifshitz and Kairali are in the same field of endeavor and they are both in the storage access notification art and, therefore, are combinable/modifiable.
It would have been obvious to a person of ordinary skill in the art before the effective filing date of the claimed invention was made to modify the teachings of Goyal and Candeleria and Ebara and Lifshitz with the teachings of Kairali in order to track I/O response time based on an average time between when the host system initiates test IO transactions with the private cloud destination and when confirmations of processing of the test IO transactions are received from the private cloud destination.
Modification would improve the performance of the system by providing network controls and policy configurations to dynamically adjust and re-configure the network controls and policies being pushed to the proxies improves the efficiency of partially completed transactions as taught by Kairali (Page 4, lines 21-23).
As per claim 6, Kairali discloses the method of claim 5, wherein the dynamic timeout of the dynamic timeouts keyed to the private cloud destination is further based on a service level IO response time commitment by an operator of the private cloud destination [Page 10, lines 56-60; Page 11, lines 53-60, User portal 483 provides access to the cloud computing environment 300 for consumers and system administrators. Service level mgmt 484 provides cloud computing resource allocation and management such that required service levels are met.].
As per claim 7, Kairali discloses the method of claim 4, wherein a dynamic timeout of the dynamic timeouts keyed to the public cloud destination is based on a maximum IO response time for IO transaction from the host system, the maximum IO response time being a maximum time between when the host system initiates test IO transactions with the private cloud destination and when confirmations of processing of the test IO transactions are received from the private cloud destination [Page 19, line 30-Page 20, line 53; there is a timeout configuration between microservices M1 and M2 and a maximum timeout threshold rate of 25%. If upon observation by the service mesh control plane 505 tracking timeouts by the microservice chain that transactions from incoming API calls 607 are timing out at a rate above the 25% threshold rate, policy optimizer 550 may automatically increase the timeout value within the timeout configuration and push an updated network policy comprising the increased timeout value to one or more proxies 527 of the microservice chain.].
As per claim 8, Kairali discloses the method of claim 7, wherein the dynamic timeout of the dynamic timeouts keyed to the public cloud destination is further based on a dynamic factor of safety that is based on a sampling of the IO response time for the IO transaction from the host system, the dynamic factor of safety being between 500 and 5000 [Page 21, line 60-Page 22, line 38; if at the current retry count set by the service mesh is known based on the history of the same or similar API calls being executed by the microservice chain being invoked to fail at a rate of 90% at the current retry count, and the 90% failure rate is above a threshold level configured by the service mesh, the method 700 may proceed to step 709 in order to adjust the retry count and improve the failure rate.]. Note: As discussed in the 112 rejection, it cannot be determined what units 500 and 5000 represents.
As per claim 10, Kairali discloses the method of claim 1, wherein treating the IO transaction as having failed comprises: initiating a new IO transaction for the IO transaction event [Page 20, lines 30-53, As a result, any new microservice attempting to call the particular microservice using the API call known to be successful after M number of retries may be automatically configured to a retry count of M as part of the network policy and pushed to the proxies 527].
Claim(s) 9 is/are rejected under 35 U.S.C. 103 as being unpatentable over Goyal et al. (US 2015/0323956 A1) and Candelaria et al. (US 10,592,119 B2) and Ebara et al. (JP 2017174038 A) and further in view of Chang et al. (US 6,526,433 B1).
As per claim 9, Goyal, Candeleria and Ebara disclose the claimed invention as detailed above in claim 1. However, the combination of Goyal and Candeleria and Ebara do not specifically teach the method of claim 1, further comprising: prior to identifying the occurrence: providing, by the host system and to the destination, at least one test IO request; initiating, by the host system, a second timer to measure time from when the at least one test IO request is provided to the destination; receiving, by the host system and from the destination, a confirmation in response to the at least one test IO request; obtaining, by the host system and based on the confirmation, the dynamic timeout for the destination; and storing the dynamic timeout in a data structure that is keyed to the destination.
Chang discloses the method of claim 1, further comprising: prior to identifying the occurrence:
providing, by the host system and to the destination, at least one test IO request [Col. 4, lines 7-17; Col. 5, lines 34-59, the timeout value is recomputed on the client side and each client is concerned about its own communication time];
initiating, by the host system, a second timer to measure time from when the at least one test IO request is provided to the destination [Col. 6, lines 27-30; each RPC sets a timer before the RPC is made and record the actual response time after the RPC returns];
receiving, by the host system and from the destination, a confirmation in response to the at least one test IO request [Col. 5, lines 57-59; Col. 6, lines 43-45, the method 57 needs to use the response time values gathered and obtained for the RPC];
obtaining, by the host system and based on the confirmation, the dynamic timeout for the destination [Col. 5, line 21, computes an optimal timeout value; Col. 6, line 45, an optimal timeout value is obtained for the RPC]; and
storing the dynamic timeout in a data structure that is keyed to the destination [Col. 5, lines 21-23, computes an optimal timeout value and it stores and maintain the data structures used for defining the data; Col. 6, lines 26-33, the response time is recorded in a local file or logged in an array].
The combination of Goyal, Candeleria, Ebara and Chang are in the same field of endeavor and they are both in the storage access notification art and, therefore, are combinable/modifiable.
It would have been obvious to a person of ordinary skill in the art before the effective filing date of the claimed invention was made to modify the teachings of Goyal and Candeleria and Ebara with the teachings of Chang in order to implement certain automatic measurements in response to storage system activity.
Modification would provide an advantageous and desirable system to ensure an adaptive timeout value that takes into consideration the communication time between a client and a server in determining and setting a timeout value as taught by Chang (Col. 1, line 65-Col. 2, line 2).
Conclusion
The prior art made of record and not relied upon is considered pertinent to applicant's disclosure.
US 10291555 B2 to Faseela discloses timeout selected from a table by destination IP/subnet and/or by application/service.
US 5894583 A to Johnson et al. discloses in order to factor in the effect of command execution times on the MIH timeouts, commands comprising the channel program for an I/O request can be divided into two classes, long and short (Col. 17, lines 20-26).
US 20140244877 A1 to Williamson discloses Heuristics may then be used to determine the proper timeout for various device types. For example, PCI device types may be determined generically by hypervisor 130 using the PCI class code for the device, allowing appropriate timeouts to be automatically selected. Devices with low interrupt frequency may make use of short timeouts, enabling these devices to predominantly operate in the direct mapping mode. In contrast, devices with high interrupt frequency may use longer timeouts to effectively disable the direct mapping mode and avoid switching overhead (Para 0057).
US 10187478 B2 to Prabhakar discloses “a disclosed network device can dynamically determine a timeout value based on how a particular client device communicates in the network, such that clients that communicate more frequently on the network will correspond to shorter timeout values” (Col. 2, lines 27-32). The reference discloses adaptive timeout depending on remote node behavior or based on observed responsiveness, i.e., different timeouts for different traffic types/destinations.
Examiner has cited particular columns/paragraphs/sections and line numbers in the references applied and not relied upon to the claims above for the convenience of the applicant. Although the specified citations are representative of the teachings of the art and are applied to specific limitations within the individual claim, other passages and figures may apply as well. It is respectfully requested from the applicant in preparing responses, to fully consider the references in entirety as potentially teaching all or part of the claimed invention, as well as the context of the passage as taught by the prior art or disclosed by the Examiner.
Applicant's amendment necessitated the new ground(s) of rejection presented in this Office action. Accordingly, THIS ACTION IS MADE FINAL. See MPEP § 706.07(a). Applicant is reminded of the extension of time policy as set forth in 37 CFR 1.136(a).
A shortened statutory period for reply to this final action is set to expire THREE MONTHS from the mailing date of this action. In the event a first reply is filed within TWO MONTHS of the mailing date of this final action and the advisory action is not mailed until after the end of the THREE-MONTH shortened statutory period, then the shortened statutory period will expire on the date the advisory action is mailed, and any nonprovisional extension fee (37 CFR 1.17(a)) pursuant to 37 CFR 1.136(a) will be calculated from the mailing date of the advisory action. In no event, however, will the statutory period for reply expire later than SIX MONTHS from the mailing date of this final action.
When responding to the Office action, applicant is advised to clearly point out the patentable novelty the claims present in view of the state of the art disclosed by the reference(s) cited or the objections made. A showing of how the amendments avoid such references or objections must also be present. See 37 C.F.R. 1.111(c).
Any inquiry concerning this communication or earlier communications from the examiner should be directed to Pierre M. Vital whose telephone number is (571)272-4215. The examiner can normally be reached Mon-Fri, 8:00a-4:00p.
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, Dede Zecher can be reached at (571) 272-7771. 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.
April 21, 2026
/PIERRE VITAL/ Supervisory Patent Examiner, Art Unit 2198