DETAILED ACTION
This Office Action has been issued in response to Applicant's RCE filed March 27, 2026.
Claims 1-4, 10-14, and 20 have been amended. Claims 1-4, 7-14, and 17-20 have been examined and are pending.
The present application, filed on or after March 16, 2013, is being examined under the first inventor to file provisions of the AIA .
Continued Examination Under 37 CFR 1.114
A request for continued examination under 37 CFR 1.114, including the fee set forth in 37 CFR 1.17(e), was filed in this application after final rejection. Since this application is eligible for continued examination under 37 CFR 1.114, and the fee set forth in 37 CFR 1.17(e) has been timely paid, the finality of the previous Office action has been withdrawn pursuant to 37 CFR 1.114. Applicant's submission filed on March 27, 2026 has been entered.
Response to Arguments
Applicant's arguments filed March 27, 2026 have been fully considered but they are not persuasive.
Applicant argues the references do not disclose “wherein the number of health probe requests is small enough to have minimal impact on the performance of the distributed storage system.” Su discloses using artificial connections to shift the operating state toward the knee point but these are separate from the probe packets. Notably the system is pushed toward the knee point, which is the point where system performance begins to degrade and thus the packets sent prior to exceeding the knee point have minimal impact on performance. Additionally, Paragraph [0060] of Dasgupta discloses the amount of probing used may be adjusted as a function of the model's accuracy and confidence, based on network considerations such as current or future network usage
Applicant argues Su and Dasgupta would not be obvious to combine. The two are directed at methods of accurately assessing performance of the system and as such it would be obvious to use the techniques of one in the other.
Applicant argues Su does not disclose “without performing any read or write operations on the target resource.” A HTTP head request accesses the header not the target resource.
Claim Rejections - 35 USC § 112
In view of applicant’s amendments the pending claim rejections under 35 USC § 112 have been withdrawn.
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.
The factual inquiries for establishing a background for determining obviousness under 35 U.S.C. 103 are summarized as follows:
1. Determining the scope and contents of the prior art.
2. Ascertaining the differences between the prior art and the claims at issue.
3. Resolving the level of ordinary skill in the pertinent art.
4. Considering objective evidence present in the application indicating obviousness or nonobviousness.
This application currently names joint inventors. In considering patentability of the claims the examiner presumes that the subject matter of the various claims was commonly owned as of the effective filing date of the claimed invention(s) absent any evidence to the contrary. Applicant is advised of the obligation under 37 CFR 1.56 to point out the inventor and effective filing dates of each claim that was not commonly owned as of the effective filing date of the later invention in order for the examiner to consider the applicability of 35 U.S.C. 102(b)(2)(C) for any potential 35 U.S.C. 102(a)(2) prior art against the later invention.
Claims 1-3, 7-13, and 17-20 are rejected under 35 U.S.C. 103 as being unpatentable over US Pub. No. 2012/0151068 to Su et al. (hereinafter “Su”) and further in view of US Pub. No. 2016/0028608 to Dasgupta et al. (hereinafter “Dasgupta”) and further in view of US Pub. No. 2016/0337253 to Tang et al. (hereinafter “Tang”).
As to Claim 1, Su discloses a method comprising:
receiving, by data processing hardware, a selection of a target resource of a distributed storage system [from a client device], the target resource indicating a respective data group among a plurality of data groups (Paragraph [0028] of Su discloses Web server 106 receives a connection (e.g., a request) from a Web client 110, an artificial connection generator 104, and/or the probe machine 102);
responsive to receiving the selection, generating, by the data processing hardware, a number of health probe requests comprising a probe profile, wherein the number of health probe requests is small enough to have minimal impact on the performance of the distributed storage system, and wherein the health probe requests are configured to identify an [availability] of the target resource of the distributed storage system based on the probe profile (Paragraph [0028] of Su discloses the Web server 106 otherwise sends a response back to the sender of the request (e.g., the probe machine 102, artificial connection generator 104, and/or Web client 110. Paragraph [0039] of Su discloses the probe machine 102 may transmit a TCP ping probe as the ping probe 300 and an HTTP head probe as the request probe 302 to the Web server 106 through the network 108);
communicating, by the data processing hardware and to the distributed storage system, the health probe requests [at periodic intervals] (Paragraph [0028] of Su discloses the Web server 106 otherwise sends a response back to the sender of the request (e.g., the probe machine 102, artificial connection generator 104, and/or Web client 110);
receiving, by the data processing hardware and from the distributed storage system, a response to the health probe requests, the response generated without the distributed storage system performing any read or write operations on the target resource in response to the health probe requests (Paragraph [0039] of Su discloses the probe machine 102 may transmit a TCP ping probe as the ping probe 300 and an HTTP head probe as the request probe 302 to the Web server 106 through the network 108. Paragraph [0028] of Su discloses the Web server 106 otherwise sends a response back to the sender of the request (e.g., the probe machine 102, artificial connection generator 104, and/or Web client 110); and
generating, by the data processing hardware, a health performance metric based on the response from the health probe requests, the health performance metric identifying the [availability] of the target resource (Paragraph [0028] of Su discloses the Web server 106 otherwise sends a response back to the sender of the request (e.g., the probe machine 102, artificial connection generator 104, and/or Web client 110. Paragraph [0039] of Su discloses the probe machine 102 may transmit a TCP ping probe as the ping probe 300 and an HTTP head probe as the request probe 302 to the Web server 106 through the network 108. Wherein responses to HTTP head probes are understood to be identifying availability of a resource)
[comparing, by the data processing hardware, the health performance metric to a service level objective comprising a target value for the health performance metric for the availability of the target resource;
determining, by the data processing hardware, whether the health performance metric meets the target value, and
responsive to determining that the health performance metric does not meet the target value, outputting, by the data processing hardware, an indication that the health performance metric does not meet the target value].
Su does not explicitly disclose from a client device and comparing, by the data processing hardware, the health performance metric to a service level objective comprising a target value for the health performance metric for the availability of the target resource and determining, by the data processing hardware, whether the health performance metric meets the target value and responsive to determining that the health performance metric does not meet the target value, communicating, by the data processing hardware and to the client device, an indication that the health performance metric does not meet the target value and responsive to determining that the health performance metric does not meet the target value, communicating, by the data processing hardware, an indication that the health performance metric does not meet the target value.
However, Dasgupta discloses this. Paragraph [0081] of Dasgupta discloses in response to receiving application-specific information from traffic sensing process 504, probe crafting process 506 may generate probe packets 518 that capture the same packet characteristics as the application, according to various embodiments. Said differently, probe crafting process 506 may generate probe packets 518, to simulate the application-specific traffic. Paragraph [0037] of Dasgupta discloses traffic monitoring is then performed in order to verify that the required SLAs are indeed met. Alarms are dynamically generated by the remote end upon SLA violation. Paragraph [0060] of Dasgupta discloses the amount of probing used may be adjusted as a function of the model's accuracy and confidence, based on network considerations such as current or future network usage.
It would have been obvious to one of ordinary skill in the art at the time of effective filing of the invention to combine the probe system as disclosed by Su, with crafting probes to simulate traffic as disclosed by Dasgupta. One of ordinary skill in the art would have been motivated to combine to apply a known technique to a known device ready for improvement to yield predictable results. Su and Dasgupta are directed toward probe systems and as such it would be obvious to use the techniques of one in the other. Implementing the teachings of Dasgupta in Su would improve accuracy of performance determinations.
Su does not explicitly disclose at periodic intervals and availability and communicated to the client device.
However, Tang discloses this. Paragraph [0058] of Tang discloses synthetic monitoring comprises monitoring that is performed using a browser emulation or scripted recordings of web transactions, where behavioral scripts (or paths) are used to simulate an action or path that an end-user would take on a website or other online service. Those paths are then continuously monitored at specific intervals for performance (e.g., availability). Paragraph [0068] of Tang discloses the notification module 310 is configured to generate and transmit to the first client device an overload notification.
It would have been obvious to one of ordinary skill in the art at the time of effective filing of the invention to combine the monitoring system as disclosed by Su, with monitoring availability periodically as disclosed by Tang. One of ordinary skill in the art would have been motivated to combine to apply a known technique to a known device ready for improvement to yield predictable results. Su and Tang are directed toward monitoring systems and as such it would be obvious to use the techniques of one in the other. Implementing the teachings of Tang in Su would determine overload conditions and as a result improves consumer experience.
As to Claim 2, Su-Dasgupta-Tang discloses the method of claim 1, wherein communicating the health probe requests to the distributed storage system occurs while another client request requests access to the target resource of the distributed storage system (Figure 1 of Su discloses the system including normal web clients, artificial connections and the probe machine).
As to Claim 3, Su-Dasgupta-Tang discloses the method of claim 1, wherein generating the health performance metric based on the response from the health probe requests comprises determining that the health probe requests fail in identifying the availability of the target resource based on the respective data group (Paragraph [0039] of Su discloses the probe machine 102 may transmit a TCP ping probe as the ping probe 300 and an HTTP head probe as the request probe 302 to the Web server 106 through the network 108. Wherein responses to HTTP head probes are understood to be identifying availability of a resource).
As to Claim 7, Su-Dasgupta-Tang discloses the method of claim 1, wherein a service level agreement (SLA) for the distributed storage system comprises the service level objective (Paragraph [0037] of Dasgupta discloses traffic monitoring is then performed in order to verify that the required SLAs are indeed met).
Examiner recites the same rationale to combine used for claim 1
As to Claim 8, Su-Dasgupta-Tang discloses the method of claim 1 wherein the probe profile comprises a statistical approximation of one or more requests described health probe request (Paragraph [0081] of Dasgupta discloses in response to receiving application-specific information from traffic sensing process 504, probe crafting process 506 may generate probe packets 518 that capture the same packet characteristics as the application, according to various embodiments. Said differently, probe crafting process 506 may generate probe packets 518, to simulate the application-specific traffic).
Examiner recites the same rationale to combine used for claim 1.
As to Claim 9, Su-Dasgupta-Tang discloses the method of claim 1, wherein the data processing hardware is co-located with the distributed storage system (Paragraph [0024] of Su discloses the network 108 represents one or more interconnected computer networks, such as the Internet, intranets, other local area networks (LAN), other wide area networks (WAN), and the like).
As to Claim 10, Su-Dasgupta-Tang discloses the method of claim 1, wherein communicating the health probe requests to the distributed storage system occurs at regular intervals (Paragraph [0048] of Su discloses periodically determine the number of artificial connections 116 with the Web server 106. Paragraph [0058] of Tang discloses synthetic monitoring comprises monitoring that is performed using a browser emulation or scripted recordings of web transactions, where behavioral scripts (or paths) are used to simulate an action or path that an end-user would take on a website or other online service. Those paths are then continuously monitored at specific intervals for performance (e.g., availability)).
Examiner recites the same rationale to combine used for claim 1.
As to Claim 11, Su discloses a system comprising: data processing hardware; and memory hardware in communication with the data processing hardware, the memory hardware storing instructions that when executed on the data processing hardware cause the data processing hardware to:
receive a selection of a target resource of a distributed storage system [from a client device], the target resource indicating a respective data group among a plurality of data groups (Paragraph [0028] of Su discloses Web server 106 receives a connection (e.g., a request) from a Web client 110, an artificial connection generator 104, and/or the probe machine 102);
responsive to receiving the selection, generate a number of health probe requests comprising a probe profile, wherein the number of health probe requests is small enough to have minimal impact on the performance of the distributed storage system, and wherein the health probe requests are configured to identify an [availability] of the target resource of the distributed storage system based on the probe profile (Paragraph [0028] of Su discloses the Web server 106 otherwise sends a response back to the sender of the request (e.g., the probe machine 102, artificial connection generator 104, and/or Web client 110. Paragraph [0039] of Su discloses the probe machine 102 may transmit a TCP ping probe as the ping probe 300 and an HTTP head probe as the request probe 302 to the Web server 106 through the network 108);
communicate, to the distributed storage system the health probe requests [at periodic intervals] (Paragraph [0028] of Su discloses the Web server 106 otherwise sends a response back to the sender of the request (e.g., the probe machine 102, artificial connection generator 104, and/or Web client 110);
receive, from the distributed storage system, a response to the health probe requests, the response generated without the distributed storage system performing any read or write operations on the target resource in response to the health probe requests (Paragraph [0039] of Su discloses the probe machine 102 may transmit a TCP ping probe as the ping probe 300 and an HTTP head probe as the request probe 302 to the Web server 106 through the network 108. Paragraph [0028] of Su discloses the Web server 106 otherwise sends a response back to the sender of the request (e.g., the probe machine 102, artificial connection generator 104, and/or Web client 110); and
generate a health performance metric based on the response from the health probe requests, the health performance metric identifying the [availability] of the target resource (Paragraph [0028] of Su discloses the Web server 106 otherwise sends a response back to the sender of the request (e.g., the probe machine 102, artificial connection generator 104, and/or Web client 110. Paragraph [0039] of Su discloses the probe machine 102 may transmit a TCP ping probe as the ping probe 300 and an HTTP head probe as the request probe 302 to the Web server 106 through the network 108. Wherein responses to HTTP head probes are understood to be identifying availability of a resource)
[compare the health performance metric to a service level objective comprising a target value for the health performance metric for the availability of the target resource;
determine whether the health performance metric meets the target value; and
responsive to determining that the health performance metric does not meet the target value, output an indication that the health performance metric does not meet the target value].
Su does not explicitly disclose from a client device and compare the health performance metric to a service level objective comprising a target value for the health performance metric for the availability of the target resource and determine whether the health performance metric meets the target value and responsive to determining that the health performance metric does not meet the target value, communicate, an indication that the health performance metric does not meet the target value.
However, Dasgupta discloses this. Paragraph [0081] of Dasgupta discloses in response to receiving application-specific information from traffic sensing process 504, probe crafting process 506 may generate probe packets 518 that capture the same packet characteristics as the application, according to various embodiments. Said differently, probe crafting process 506 may generate probe packets 518, to simulate the application-specific traffic. Paragraph [0037] of Dasgupta discloses traffic monitoring is then performed in order to verify that the required SLAs are indeed met. Alarms are dynamically generated by the remote end upon SLA violation. Paragraph [0060] of Dasgupta discloses the amount of probing used may be adjusted as a function of the model's accuracy and confidence, based on network considerations such as current or future network usage
Examiner recites the same rationale to combine used for claim 1.
Su does not explicitly disclose at periodic intervals and availability.
However, Tang discloses this. Paragraph [0058] of Tang discloses synthetic monitoring comprises monitoring that is performed using a browser emulation or scripted recordings of web transactions, where behavioral scripts (or paths) are used to simulate an action or path that an end-user would take on a website or other online service. Those paths are then continuously monitored at specific intervals for performance (e.g., availability). Paragraph [0068] of Tang discloses the notification module 310 is configured to generate and transmit to the first client device an overload notification.
Examiner recites the same rationale to combine used for claim 1.
As to Claim 12, Su-Dasgupta-Tang discloses the system of claim 11, wherein communicating the health probe requests to the distributed storage system occurs while another client request requests access to the target resource of the distributed storage system (Figure 1 of Su discloses the system including normal web clients, artificial connections and the probe machine).
As to Claim 13, Su-Dasgupta-Tang discloses the system of claim 11, wherein generating the health performance metric based on the response from the health probe requests comprises determining that the health probe requests fails in identifying the availability of the target resource based on the respective data group (Paragraph [0039] of Su discloses the probe machine 102 may transmit a TCP ping probe as the ping probe 300 and an HTTP head probe as the request probe 302 to the Web server 106 through the network 108. Wherein responses to HTTP head probes are understood to be identifying availability of a resource).
As to Claim 17, Su-Dasgupta-Tang discloses the system of claim 11, wherein a service level agreement (SLA) for the distributed storage system comprises the service level objective (Paragraph [0037] of Dasgupta discloses traffic monitoring is then performed in order to verify that the required SLAs are indeed met).
Examiner recites the same rationale to combine used for claim 1.
As to Claim 18, Su-Dasgupta-Tang discloses the system of claim 11 wherein the probe profile comprises a statistical approximation of one or more requests described health probe request (Paragraph [0081] of Dasgupta discloses in response to receiving application-specific information from traffic sensing process 504, probe crafting process 506 may generate probe packets 518 that capture the same packet characteristics as the application, according to various embodiments. Said differently, probe crafting process 506 may generate probe packets 518, to simulate the application-specific traffic).
Examiner recites the same rationale to combine used for claim 1.
As to Claim 19, Su-Dasgupta-Tang discloses the system of claim 11, wherein the data processing hardware is co-located with the distributed storage system (Paragraph [0024] of Su discloses the network 108 represents one or more interconnected computer networks, such as the Internet, intranets, other local area networks (LAN), other wide area networks (WAN), and the like).
As to Claim 20, Su-Dasgupta-Tang discloses the system of claim 11, wherein communicating the health probe requests to the distributed storage system occurs at regular intervals (Paragraph [0048] of Su discloses periodically determine the number of artificial connections 116 with the Web server 106. Paragraph [0058] of Tang discloses synthetic monitoring comprises monitoring that is performed using a browser emulation or scripted recordings of web transactions, where behavioral scripts (or paths) are used to simulate an action or path that an end-user would take on a website or other online service. Those paths are then continuously monitored at specific intervals for performance (e.g., availability)).
Examiner recites the same rationale to combine used for claim 1.
Claims 4 and 14 are rejected under 35 U.S.C. 103 as being unpatentable over Su-Dasgupta-Tang and further in view of US Pub. No. 2005/0197792 to Haeuptle (hereinafter “Haeuptle”).
As to Claim 4, Su-Dasgupta-Tang discloses the method of claim 1. Su-Dasgupta-Tang does not explicitly disclose wherein generating the health performance metric based on the response from the health probe requests comprises representing the health performance metric identifying the availability of the target resource by a ratio of health probe request failures to health probe request successes.
However, Haeuptle discloses this. Table 3 of Haeuptle discloses ratio of availability probe requests that failed, to the total attempts during the last interval.
It would have been obvious to one of ordinary skill in the art before the effective filing of the invention to combine the probe system as disclosed by Su, with using a ratio for performance as disclosed by Haeuptle. One of ordinary skill in the art would have been motivated to combine to apply a known technique to a known device ready for improvement to yield predictable results. Su and Haeuptle are directed toward probe systems and as such it would be obvious to use the techniques of one in the other. Implementing the teachings of Haeuptle in Su would improve performance monitoring.
As to Claim 14, Su-Dasgupta-Tang discloses the system of claim 11. Su-Dasgupta-Tang does not explicitly disclose wherein generating the health performance metric based on the response from the health probe requests comprises representing the health performance metric identifying the availability of the target resource by a ratio of health probe request failures to health probe request successes.
However, Haeuptle discloses this. Table 3 of Haeuptle discloses ratio of availability probe requests that failed, to the total attempts during the last interval.
Examiner recites the same rationale to combine used for claim 4.
Conclusion
Any inquiry concerning this communication or earlier communications from the examiner should be directed to Kevin S Mai whose telephone number is (571)270-5001. The examiner can normally be reached Monday to Friday 9AM to 5PM.
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, Philip Chea can be reached on 5712723951. 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.
/KEVIN S MAI/Primary Examiner, Art Unit 2499