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 .
DETAILED ACTION
Claims 1-2, 4-9, and 11-22 are pending in this application.
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 5/22/2026 has been entered.
Response to Arguments
Applicant’s arguments with respect to claim(s) 1-2, 4-9, and 11-22 have been considered but are moot because the new ground of rejection does not rely on the combination of references applied in the prior rejection of record for any teaching or matter specifically challenged in the argument.
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-2, 4-9, and 11-20 are rejected under 35 U.S.C. 103 as being unpatentable over Stack (US 7,818,606) and in view of Miernik (US 2018/0316588) and in view of Hsu (US 2019/0190851).
Re Claim 1, Stack discloses a method, comprising:
managing, by a software agent at a smart network interface card of a cloud-computing environment (col. 1, lines 55-65, architecture includes intelligent multi-protocol switches (IMPS, i.e., smart NIC). Col. 7, lines 33-38, IMPS supports virtual SANs (cloud computing. FabricX includes Control Path Processor (CPP) and provides support for storage and switch software applications that handles the fast-path.), a set of network paths comprising an active network path and a plurality of passive network paths, the active network path being associated with an established network connection between the smart network interface card and a first storage component of the cloud-computing environment, each of the plurality of passive network paths being associated with a respective storage component of the cloud-computing environment for which a network connection is currently unestablished (col. 8, line 64-col. 9, line 35. Target can be active (capable of completing I/O for the logical unit) or passive (incapable of completing I/O for the logical unit). Passive target can be made active and expects that this operation will make one active targets passive.);
obtaining, by the software agent, respective heat measurements corresponding to the respective storage component for each of the plurality of passive network paths (col. 9, line 14-35, autotrespass can be provided to switch when an active target transitioning to passive is drained of outstanding I/O operations. Once the switch runs out of operation paths to an active target, the switch issues a trespass to the passive target which switches the active and passive paths); and
selecting, by the software agent executing at the smart network interface card, a passive network path of the plurality of passive network paths to replace the active network path (col. 9, line 14-35, the software agent selects the passive path to replace the active path by the trespass command.); and
replacing the active network path with the passive network path, wherein replacing the active network path causes a new network connection associated with the passive network path to be established between the smart network interface card and another storage component of the cloud-computing environment (col. 9, line 14-35, autotrespass can be provided to switch when an active target transitioning to passive is drained of outstanding I/O operations. Once the switch runs out of operation paths to an active target, the switch issues a trespass to the passive target which switches the active and passive paths).
Stack discloses the software agent executing at the smart network interface card associated with the active network path (col. 9, line 20-27, FabricX utilizes ethernet NIC for connectivity provided isolation and dedicated 100 Mbps bandwidth to the IMPS and CPP). Stack does not clearly disclose that the heat measurements is central processing unit (CPU) utilization measurement, however Miernik discloses a respective central processing unit (CPU) utilization measurement ([0045], current condition dataset includes CPU usage);
Selecting the network path, based at least in part on the rate of network traffic and the respective CPU utilization measurement corresponding to the respective storage component for each of the plurality of passive network paths ([0043]-[0045], Network path selector select a network path that is preferred in favor of another network path based on e.g., network latency, amount of traffic, available bandwidth, or anticipated ot be better than another network path. The data instructions provided by the network path selector may be based on the current condition dataset. The current condition dataset includes a measurement of the current work status (latency, traffic, available bandwidth, etc) and a measurement of a computer resource utilization at a data destination (e.g., storage capacity, volatile memory available, CPU usage, etc.).
It would have been obvious for one of ordinary skill in the art before the date the current invention was effectively filed to have modified the teachings of Stack’s intelligent switch with Chen’s traffic analyzer to determine the traffic measurements of future paths. One of ordinary skill in the art would have been motivated to incorporate the teachings with one another in order to choose the path with the load that has be most bandwidth.
While Stack discloses the software agent executing at the smart network interface card associated with the active network path (col. 9, line 20-27, FabricX utilizes ethernet NIC for connectivity provided isolation and dedicated 100 Mbps bandwidth to the IMPS and CPP), Stack and Miernik do not clearly disclose a rate of network traffic associated with the active network path.
In the same field of endeavor, Hsu discloses a rate of network traffic associated with the active network path ([0040]-[0041] Choose H1 to H6 (510 Mbps) instead of H3 to H5 (283 Mbps) or H2 to H6 (140 Mbps).
It would have been obvious for one of ordinary skill in the art before the date the current invention was effectively filed to have modified the teachings of Stack’s intelligent switch with Hsu’s determination of available transmission load. One of ordinary skill in the art would have been motivated to incorporate the teachings with one another in order to choose the path with the load that has be most bandwidth.
Re claim 2, Stack discloses wherein replacing the active network path further comprises terminating the established network connection between the smart network interface card and the first storage component (col. 9, line 14-35, autotrespass can be provided to switch when an active target transitioning to passive is drained of outstanding I/O operations. Once the switch runs out of operation paths to an active target, the switch issues a trespass to the passive target which switches the active and passive paths).
Re claim 4, Stack discloses wherein the active network path is replaced based at least in part on detecting that the established network connection between the smart network interface card and the first storage component has failed (col. 9, line 14-35, autotrespass can be provided to switch when an active target transitioning to passive is drained of outstanding I/O operations. Once the switch runs out of operation paths to an active target, the switch issues a trespass to the passive target which switches the active and passive paths).
Re claim 5, one of ordinary level of skill in the art would have been compelled to make the proposed modification to Stack for the same reasons identified in the rejection of claim 1. In addition, Miernik discloses in [0043]-[0045], a network path selector selects network path based on determination that it maybe better than another network path. The path selector determine the selected network path by measurement of the current network status and a measurement of a computing resource utilization at a data destination (e.g., CPU usage). In further addition, Hsu discloses selecting a first passive network path of the plurality of passive network paths to replace the active network path, the first passive network path being selected over a second passive network path of the plurality of passive network paths based at least in part on determining that a first heat measurement corresponding to the first passive network path is less than a second heat measurement corresponding to the second passive network path. ([0040]-[0041], device selects the path with the largest available transmission load, ie. Choose H1 to H6 (510 Mbps) instead of H3 to H5 (283 Mbps) or H2 to H6 (140 Mbps). It would have been obvious to one of ordinary skill in the art that Hsu’s selecting of the network path based on the first measurement being less than a second measurement would incorporate the measurement with Miernik’s CPU usage in order for the machine learning engine to generated the machine learning data sets (Miernik [0047]).
Re claims 7-8, 11, and 14-20, they are similar to claims 1-2, and 4-5 and therefore are rejected for the same reasons above.
Re claim 9, one of ordinary level of skill in the art would have been compelled to make the proposed modification to Stack for the same reasons identified in the rejection of claim 1. In addition, Miernik discloses in [0043]-[0045], a network path selector selects network path based on determination that it maybe better than another network path. The path selector determine the selected network path by measurement of the current network status and a measurement of a computing resource utilization at a data destination (e.g., CPU usage). In further addition, Hsu discloses wherein executing the computer-executable instructions further causes the one or more processors to: calculate a first heat score for a first passive network path of the plurality of passive network paths, the first heat score being calculated based at least in part on the rate of network traffic and a first heat measurement of the respective heat measurements, the first heat measurement corresponding to a second storage component of the cloud-computing environment ([0040]-[0041], device selects the path with the largest available transmission load, ie. Choose H1 to H6 (510 Mbps) instead of H3 to H5 (283 Mbps) or H2 to H6 (140 Mbps). The first heat score is the bandwidth Mbps of H1 to H6); and
calculate a second heat score for a second passive network path of the plurality of passive network paths, the second heat score being calculated based at least in part on the rate of network traffic and a second heat measurement of the respective heat measurements, the second heat measurement corresponding to a third storage component of the cloud-computing environment; wherein the passive network path that replaces the active network path is identified as the first passive network path based at least in part on the first heat score and the second heat ratio. ([0040]-[0041], device selects the path with the largest available transmission load, ie. Choose H1 to H6 (510 Mbps) instead of H3 to H5 (283 Mbps) or H2 to H6 (140 Mbps). The second heat score is the bandwidth Mbps of H3 to H5). It would have been obvious to one of ordinary skill in the art that Hsu’s heat score being calculated with Miernik’s network path selector which includes the computing resource utilization CPU usage in order for the machine learning engine to generated the machine learning data sets (Miernik [0047])
Re claim 12, one of ordinary level of skill in the art would have been compelled to make the proposed modification to Stack and Miernik for the same reasons identified in the rejection of claim 1. In addition, Hsu discloses determining, by the software agent, a third value corresponding to a second rate of network traffic through the second network path; and determining, by the software agent, a fourth value corresponding to a second heat measurement associated with a second storage component associated with the second network path; wherein diverting the portion of network traffic is further based at least in part on the third value and the fourth value. ([0040]-[0041], device selects the path with the largest available transmission load, ie. Choose H1 to H6 (510 Mbps) instead of H3 to H5 (283 Mbps) or H2 to H6 (140 Mbps). The third value and fourth value is the same and is the Mbps of the different routes).
Re claim 13, one of ordinary level of skill in the art would have been compelled to make the proposed modification to Stack and Miernik for the same reasons identified in the rejection of claim 1. In addition, Hsu discloses determining, by the software agent, a third value corresponding to a second rate of network traffic through a third network path of the plurality of network paths; and determining, by the software agent, a fourth value corresponding to a second heat measurement associated with a second storage component associated with the third network path; wherein diverting the portion of network traffic is further based at least in part on the third value and the fourth value ([0040]-[0041], device selects the path with the largest available transmission load, ie. Choose H1 to H6 (510 Mbps) instead of H3 to H5 (283 Mbps) or H2 to H6 (140 Mbps) The third value and fourth value is the same and is the Mbps of the different routes.)
Claim 6 is rejected under 35 U.S.C. 103 as being unpatentable over Stack and in view of Miernik and in view of Hsu and in view of Bhandari (US 7,609,649).
Re claim 6, Stack discloses obtaining, by the software agent, a heat measurement for the active network path; and calculating, by the software agent, a heat score for the active network path, the heat score being calculated based at least in part on dividing the rate of network traffic by the heat measurement for the active network path, wherein the active network path is replaced based at least in part on determining that the heat score for the active network path exceeds a predefined threshold value (col. 9, line 14-35, autotrespass can be provided to switch when an active target transitioning to passive is drained of outstanding I/O operations. Once the switch runs out of operation paths to an active target, the switch issues a trespass to the passive target which switches the active and passive paths. The threshold has been exceeded when it has been determined the active target has been drained out of I/O operations.)
One of ordinary level of skill in the art would have been compelled to make the proposed modification to Stack for the same reasons identified in the rejection of claim 1. In addition, Miernik discloses a CPU utilization measurement for the active network path [0043]-[0045], a network path selector selects network path based on determination that it maybe better than another network path. The path selector determine the selected network path by measurement of the current network status and a measurement of a computing resource utilization at a data destination (e.g., CPU usage).
Stack, Miernik, and Hsu do not disclose, however Bhandari discloses a heat score being calculated based on at least in part on dividing the rate of network traffic by the CPU utilization measurement (col. 14, lines 19-35, The I/O throughput divided by the CPU utilization to obtain the CPU efficiency associated with the CPU.)
Claims 21 and 22 are rejected under 35 U.S.C. 103 as being unpatentable over Stack and in view of Miernik and in view of Hsu and in view of Lee (US 2014/0126356).
Re Claims 21 and 22, one of ordinary level of skill in the art would have been compelled to make the proposed modification to Stack for the same reasons identified in the rejection of claim 1. In addition, Miernik discloses a CPU utilization measurement [0043]-[0045], a network path selector selects network path based on determination that it maybe better than another network path. The path selector determine the selected network path by measurement of the current network status and a measurement of a computing resource utilization at a data destination (e.g., CPU usage).
Stack, Miernik and Hsu does not disclose, however Lee discloses determining, by the software agent executing at the smart network interface card, whether to initiate a failover of the active network path with a passive network path of the plurality of passive network paths based at least in part on the rate of network traffic and the respective heat measurement corresponding to the respective storage component for each of the plurality of passive network paths ([0039], [0055], switching to the redundant network path (failover) such as a second path in regards to failover elements related to the threshold of wireless signal, minimum available bandwidth, threshold of jitter and latency, error rate, ping count, and the like).
It would have been obvious for one of ordinary skill in the art before the date the current invention was effectively filed to have modified the teachings of Stack, Miernik and Hsu’s path selector and switch/NIC with Lee’s intelligent network card to switch (failover) to the redundant network path. One of ordinary skill in the art would have been motivated to incorporate the teachings with one another in order to create a more versatile system by being able to switch to a redundant network path in light of errors/failures.
ConclusionAny inquiry concerning this communication or earlier communications from the examiner should be directed to HO T SHIU whose telephone number is (571)270-3810. The examiner can normally be reached Mon-Fri (9:00am - 5:00pm).
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, Nicholas Taylor can be reached at 571-272-3089. 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.
/HO T SHIU/Examiner, Art Unit 2443
HO T. SHIU
Examiner
Art Unit 2443
/NICHOLAS R TAYLOR/Supervisory Patent Examiner, Art Unit 2443