DETAILED ACTION
Notice of Pre-AIA or AIA Status
The present application is being examined under the pre-AIA first to invent provisions.
The Examiner acknowledges the applicant's submission of the amendment dated 12/4/25.
1. CLAIMS STATUS
Date of Priority
The Examiner notes the date of priority for the instant application is associated with US provisional application 61/290,775 dated 12/29/2009 (see paragraph 1 of the Applicant’s specification) and thus the application should be as pre-AIA based on this priority date. However, the Examiner further notes that the claims (as currently presented) appear to merely have priority to US Application 16/050583 filed 7/31/18, and as such the Examiner notes that the claims are being treated under AIA rules based on this information. The Applicant should correct the Examiner if the Applicant disagrees.
2. REJECTIONS BASED ON PRIOR ART
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 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.
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-15 and 17-18 is/are rejected under 35 U.S.C. 103 as being unpatentable over Denis (US 20080225714) in view of Horowitz (US 20170344441).
With respect to claim 1, the Denis reference teaches a method for execution by one or more computing devices of a storage network, the method comprises:
processing an access request in accordance with a data processing plan, wherein the data processing plan is determined based on at least one of a desired level of security requirement, a desired level of performance requirement, a desired level of access requirement, and a desired level of rebuilding requirement, (paragraph 24, where service requests are received from one or more requester nodes (not shown) which may make use or not of results from the service requests. The service requests are distributed based on a resource allocation plan known to the load balancing node 110. A resource allocation plan proposal is calculated by the resource balancer function 130 based on remaining capacity from the various service nodes 120-126; and paragraph 31, where the new remaining capacity value of 11 is sent 214 to the resource balancer function 130. Upon reception of the new remaining capacity value, the resource balancer function 130 can calculate a resource attribution plan proposal (216) therewith) and wherein the processing the access request includes:
identifying two or more processing units of a plurality of processing units of the storage network based on availability information regarding the plurality of processing units; (paragraph 33, where the resource balancer function 130 sends the resource attribution plan proposal to the load balancing node 110 218. The load balancing node 110 can then apply the proposed resource allocation plan (220). The load balancing node 110 could also measure the variation from the last proposed allocation plan or the active allocation plan and decide not to apply the proposal if at least one of the attribution or the average of change does not meet a predetermine threshold (e.g., 15% variation compared to previous attribution, etc.); and see fig. 2; and table 2; and paragraph 18, where a remaining capacity value can be calculated over a determined period of measurement. In the context of tasks or service requests treatment, for instance, the remaining capacity could be a number of events that could have been handled during a last period of measurement or a number of free processor cycles during the last period of measurement.
determining processing capabilities of each of the two or more processing units; (paragraph 33, where the resource balancer function 130 sends the resource attribution plan proposal to the load balancing node 110 218. The load balancing node 110 can then apply the proposed resource allocation plan (220))
selecting a processing unit of the two or more processing units to process the access request based on a favorable comparison of the processing capabilities of the processing unit and the data processing plan; (paragraph 32, where the resource balancer function 130 calculates a resource attribution plan proposal 216 and obtains a resource attribution plan proposal of 35%, 32.5% and 32.5% respectively for SN 1 120, SN 2 122 and SN 3 124; paragraphs 33-34, where the load balancing node 110 can accept or reject the plan based on the resources) and
sending the access request to the processing unit to facilitate executing the access request. (paragraph 38, where load balancing node 110, which is likely to know about the absence of SN 1 120 (failure to answer service requests), modifies the proposal received in 236 (by removing SN 1 120) and applies the modified attribution plan proposal 238 in the example of FIG. 2. It is also assumed for the sake of the example of FIG. 2 that the load balancing node 110 does not send the applied attribution plan to the resource balancer 130 (i.e., does not execute a step similar to 222))
However, the Denis reference does not explicitly teach wherein the data processing plan includes a data type associated with data of the access request; and selecting a processing unit of the two or more processing units to process the access request based on a favorable comparison of the processing capabilities of the processing unit and the data type of the data processing plan. (emphasis added)
The Horowitz reference teaches it is conventional to have wherein the data processing plan includes a data type associated with data of the access request; and selecting a processing unit of the two or more processing units to process the access request based on a favorable comparison of the processing capabilities of the processing unit and the data type of the data processing plan. (Horowitz, paragraph 78, where the primary node 302 and/or the secondary nodes 308, 310 are configured to respond to read operation requests by either performing the read operation at that node or by delegating the read request operation to another node (e.g., a particular secondary node 308). Such delegation may be performed based on load-balancing and traffic direction techniques; and the system can determine based on analyzing client requested data what snapshot is associated with the requested data and what node hosts the respective data or snapshot that can be used to provide the requested data. In one example, a data routing processor accesses configuration files for respective replica sets to determine what node can respond to a data request, and further analysis of respective snapshots can determine, for example, what node within a replica set needs to be accessed)
It would have been obvious to a person of ordinary skill in the art before the claimed invention was effectively filed to modify the Denis reference to have wherein the data processing plan includes a data type associated with data of the access request; and selecting a processing unit of the two or more processing units to process the access request based on a favorable comparison of the processing capabilities of the processing unit and the data type of the data processing plan, as taught by the Horowitz reference.
The suggestion/motivation for doing so would have been to allow load-balancing and traffic direction techniques. (Horowitz, paragraph 78)
Therefore it would have been obvious to combine the Denis and Horowitz references for the benefits shown above to obtain the invention as specified in the claim.
With respect to claim 2, the combination of the Denis and Horowitz references teaches the method of claim 1, wherein the determining the data processing plan comprises: selecting, by the one or more computing device, dispersed storage error encoding parameters for storing data of the access request in accordance with the desired level of security requirement. (Denis, paragraph 38, where the load balancing node 110, which is likely to know about the absence of SN 1 120 (failure to answer service requests), modifies the proposal received in 236 (by removing SN 1 120) and applies the modified attribution plan proposal 238 in the example of FIG. 2)
With respect to claim 3, the combination of the Denis and Horowitz references teaches the method of claim 1, wherein the determining the data processing plan comprises: selecting, by the one or more computing devices, dispersed storage error encoding parameters for storing data of the access request in accordance with the desired level of performance requirement. (Denis, paragraph 38, where the load balancing node 110, which is likely to know about the absence of SN 1 120 (failure to answer service requests), modifies the proposal received in 236 (by removing SN 1 120) and applies the modified attribution plan proposal 238 in the example of FIG. 2)
With respect to claim 4, the combination of the Denis and Horowitz references teaches the method of claim 1, wherein the determining the data processing plan comprises: selecting, by the one or more computing devices, dispersed storage error encoding parameters for storing data of the access request in accordance with the desired level of access requirement. (Denis, paragraph 38, where the load balancing node 110, which is likely to know about the absence of SN 1 120 (failure to answer service requests), modifies the proposal received in 236 (by removing SN 1 120) and applies the modified attribution plan proposal 238 in the example of FIG. 2)
With respect to claim 5, the combination of the Denis and Horowitz references teaches the method of claim 1, wherein the identifying the two or more processing units comprises: accessing, by the one or more computing devices, a virtual storage network table that includes, for the plurality of processing units, information regarding availability and one or more of: the data type, a data size, an access request processing type, a security indicator, a performance indicator, and a status indicator. (Denis, paragraph 38, where the load balancing node 110, which is likely to know about the absence of SN 1 120 (failure to answer service requests), modifies the proposal received in 236 (by removing SN 1 120) and applies the modified attribution plan proposal 238 in the example of FIG. 2 [which satisfies the ‘one or more of’ language as claimed])
With respect to claim 6, the combination of the Denis and Horowitz references teaches the method of claim 5, wherein the identifying the two or more processing units further comprises: when the information is obtained, correlating, by the one or more computing devices, the information regarding the one or more of: the data type, the data size, the security indicator, the performance indicator, and the status indicator with the data processing plan; and identifying, by the computing device, processing units having information that correlates with the data processing plan as the two or more processing units. (Denis, paragraph 38, where the load balancing node 110, which is likely to know about the absence of SN 1 120 (failure to answer service requests), modifies the proposal received in 236 (by removing SN 1 120) and applies the modified attribution plan proposal 238 in the example of FIG. 2 [which satisfies the ‘one or more of’ language as claimed])
With respect to claim 7, the combination of the Denis and Horowitz references teaches the method of claim 5, wherein the identifying the two or more processing units comprises: receiving, by the one or more computing devices, messages from processing units of the plurality of processing units in response to a query-response protocol to obtain the information. (Denis, paragraph 33, where the resource balancer function 130 sends the resource attribution plan proposal to the load balancing node 110 218. The load balancing node 110 can then apply the proposed resource allocation plan (220). The load balancing node 110 could also measure the variation from the last proposed allocation plan or the active allocation plan and decide not to apply the proposal if at least one of the attribution or the average of change does not meet a predetermine threshold (e.g., 15% variation compared to previous attribution, etc.))
With respect to claim 8, the combination of the Denis and Horowitz references teaches the method of claim 1, wherein the identifying the two or more processing units comprises: receiving, by one or more the computing devices, a command identifying the two or more processing units. (Denis, paragraph 33, where the resource balancer function 130 sends the resource attribution plan proposal to the load balancing node 110 218. The load balancing node 110 can then apply the proposed resource allocation plan (220). The load balancing node 110 could also measure the variation from the last proposed allocation plan or the active allocation plan and decide not to apply the proposal if at least one of the attribution or the average of change does not meet a predetermine threshold (e.g., 15% variation compared to previous attribution, etc.))
With respect to claim 9, the combination of the Denis and Horowitz references teaches the method of claim 1, wherein the identifying the two or more processing units comprises: performing, by the one or more computing devices, a lookup of available processing units of the plurality of processing units. (Denis, paragraph 33, where the resource balancer function 130 sends the resource attribution plan proposal to the load balancing node 110 218. The load balancing node 110 can then apply the proposed resource allocation plan (220). The load balancing node 110 could also measure the variation from the last proposed allocation plan or the active allocation plan and decide not to apply the proposal if at least one of the attribution or the average of change does not meet a predetermine threshold (e.g., 15% variation compared to previous attribution, etc.))
With respect to claim 10, the combination of the Denis and Horowitz references teaches the method of claim 1, wherein the identifying the two or more processing units comprises: identifying, by the one or more computing devices, a predetermined two or more processing units as the two or more processing units. (Denis, paragraph 33, where the resource balancer function 130 sends the resource attribution plan proposal to the load balancing node 110 218. The load balancing node 110 can then apply the proposed resource allocation plan (220). The load balancing node 110 could also measure the variation from the last proposed allocation plan or the active allocation plan and decide not to apply the proposal if at least one of the attribution or the average of change does not meet a predetermine threshold (e.g., 15% variation compared to previous attribution, etc.))
With respect to claim 11, the combination of the Denis and Horowitz references teaches the method of claim 1, wherein the processing capabilities comprises a current capacity and a current loading. (Denis, paragraph 33, where the resource balancer function 130 sends the resource attribution plan proposal to the load balancing node 110 218. The load balancing node 110 can then apply the proposed resource allocation plan (220). The load balancing node 110 could also measure the variation from the last proposed allocation plan or the active allocation plan and decide not to apply the proposal if at least one of the attribution or the average of change does not meet a predetermine threshold (e.g., 15% variation compared to previous attribution, etc.))
With respect to claim 12, the combination of the Denis and Horowitz references teaches the method of claim 1, wherein the processing capabilities comprises an uptime history and a performance history. (Denis, paragraph 38, where the load balancing node 110, which is likely to know about the absence of SN 1 120 (failure to answer service requests), modifies the proposal received in 236 (by removing SN 1 120) and applies the modified attribution plan proposal 238 in the example of FIG. 2)
With respect to claim 13, the combination of the Denis and Horowitz references teaches the method of claim 1, wherein the processing capabilities comprises data types supported and data types not supported. (Horowitz, paragraph 78, where the primary node 302 and/or the secondary nodes 308, 310 are configured to respond to read operation requests by either performing the read operation at that node or by delegating the read request operation to another node (e.g., a particular secondary node 308). Such delegation may be performed based on load-balancing and traffic direction techniques; and the system can determine based on analyzing client requested data what snapshot is associated with the requested data and what node hosts the respective data or snapshot that can be used to provide the requested data. In one example, a data routing processor accesses configuration files for respective replica sets to determine what node can respond to a data request, and further analysis of respective snapshots can determine, for example, what node within a replica set needs to be accessed)
With respect to claim 14, the combination of the Denis and Horowitz references teaches the method of claim 1, wherein the processing capabilities comprises access requests supported. (Horowitz, paragraph 78, where the primary node 302 and/or the secondary nodes 308, 310 are configured to respond to read operation requests by either performing the read operation at that node or by delegating the read request operation to another node (e.g., a particular secondary node 308). Such delegation may be performed based on load-balancing and traffic direction techniques; and the system can determine based on analyzing client requested data what snapshot is associated with the requested data and what node hosts the respective data or snapshot that can be used to provide the requested data. In one example, a data routing processor accesses configuration files for respective replica sets to determine what node can respond to a data request, and further analysis of respective snapshots can determine, for example, what node within a replica set needs to be accessed)
With respect to claim 15, the combination of the Denis and Horowitz references teaches the method of claim 1, wherein the processing capabilities comprises security restrictions. (Horowitz, paragraph 74, where users are able to leverage the same query language, data model, scaling, security and operational tooling across different applications, each powered by different pluggable storage engines)
With respect to claim 17, the combination of the Denis and Horowitz references teaches the method of claim 1, wherein the identifying the two or more processing units is further based on the data processing plan. (Denis, paragraph 38, where the load balancing node 110, which is likely to know about the absence of SN 1 120 (failure to answer service requests), modifies the proposal received in 236 (by removing SN 1 120) and applies the modified attribution plan proposal 238 in the example of FIG. 2)
With respect to claim 18, the combination of the Denis and Horowitz references teaches the method of claim 1 further comprises: selecting, by the one or more computing devices, one or more processing options of the processing unit to process the access request according to the data processing plan; and sending the selection of the one or more processing options to the processing unit, wherein the processing unit processes the access request in accordance with the one or more processing options. (Denis, paragraph 38, where load balancing node 110, which is likely to know about the absence of SN 1 120 (failure to answer service requests), modifies the proposal received in 236 (by removing SN 1 120) and applies the modified attribution plan proposal 238 in the example of FIG. 2. It is also assumed for the sake of the example of FIG. 2 that the load balancing node 110 does not send the applied attribution plan to the resource balancer 130 (i.e., does not execute a step similar to 222))
Claims 16 and 19-20 is/are rejected under 35 U.S.C. 103 as being unpatentable over the combination of Denis (US 20080225714) in view of Horowitz (US 20170344441) as shown in the rejections above, and in further view of Ferlitsch (US 20050225789).
With respect to claim 16, the combination of the Denis and Horowitz references does not explicitly teach the method of claim 1, wherein the processing capabilities comprises encryption algorithms supported.
The Ferlitsch reference teaches it is conventional to have wherein the processing capabilities comprises encryption algorithms supported. (paragraph 40, where printer pooling includes functions for routing a print job to one or more printers on the basis of availability, load balancing, performance, capability, locality, power consumption, and/or other resource usage; and analysis actions also include access control and security, where security involves encryption, auditing, steganography (e.g., using undefined bits in a file to hide a message), digital signatures, and types of encoding functions. Further, analysis may involve content filtering and resource downloading (e.g., form/font/overlay/watermark). Other examples of analysis are compression …)
It would have been obvious to a person of ordinary skill in the art before the claimed invention was effectively filed to modify the combination of the Denis and Horowitz references to have wherein the processing capabilities comprises encryption algorithms supported, as taught by the Ferlitsch reference.
The suggestion/motivation for doing so would have been to allow routing of a print job to an appropriate printer based on capabilities and functionality. (Ferlitsch, paragraph 40)
Therefore it would have been obvious to combine the Denis, Horowitz, and Ferlitsch references for the benefits shown above to obtain the invention as specified in the claim.
With respect to claim 19, the combination of the Denis and Horowitz references does not explicitly teach the method of claim 18, wherein the processing options comprises compression type and rebuilding options.
The Ferlitsch reference teaches it is conventional to have wherein the processing options comprises compression type and rebuilding options. (paragraph 40, where printer pooling includes functions for routing a print job to one or more printers on the basis of availability, load balancing, performance, capability, locality, power consumption, and/or other resource usage; and analysis actions also include access control and security, where security involves encryption, auditing, steganography (e.g., using undefined bits in a file to hide a message), digital signatures, and types of encoding functions. Further, analysis may involve content filtering and resource downloading (e.g., form/font/overlay/watermark). Other examples of analysis are compression …)
It would have been obvious to a person of ordinary skill in the art before the claimed invention was effectively filed to modify the combination of the Denis and Horowitz references to have wherein the processing options comprises compression type and rebuilding options, as taught by the Ferlitsch reference.
The suggestion/motivation for doing so would have been to allow routing of a print job to an appropriate printer based on capabilities and functionality. (Ferlitsch, paragraph 40)
Therefore it would have been obvious to combine the Denis, Horowitz, and Ferlitsch references for the benefits shown above to obtain the invention as specified in the claim.
With respect to claim 20, the combination of the Denis and Horowitz references does not explicitly teach the method of claim 1, wherein the processing options comprises encryption type and encoding function type.
The Ferlitsch reference teaches it is conventional to have wherein the processing options comprises encryption type and encoding function type. (paragraph 40, where printer pooling includes functions for routing a print job to one or more printers on the basis of availability, load balancing, performance, capability, locality, power consumption, and/or other resource usage; and analysis actions also include access control and security, where security involves encryption, auditing, steganography (e.g., using undefined bits in a file to hide a message), digital signatures, and types of encoding functions. Further, analysis may involve content filtering and resource downloading (e.g., form/font/overlay/watermark). Other examples of analysis are compression …)
It would have been obvious to a person of ordinary skill in the art before the claimed invention was effectively filed to modify the combination of the Denis and Horowitz references to have wherein the processing options comprises encryption type and encoding function type, as taught by the Ferlitsch reference.
The suggestion/motivation for doing so would have been to allow routing of a print job to an appropriate printer based on capabilities and functionality. (Ferlitsch, paragraph 40)
Therefore it would have been obvious to combine the Denis, Horowitz, and Ferlitsch references for the benefits shown above to obtain the invention as specified in the claim.
3. ARGUMENTS CONCERNING NON-PRIOR ART REJECTIONS/OBJECTIONS
Double Patenting
The terminal disclaimer filed on 12/4/25 disclaiming the terminal portion of any patent granted on this application which would extend beyond the expiration date of US Patent # 11,416,149 has been reviewed and is accepted. The terminal disclaimer has been recorded. Thus, the double patenting rejections have been withdrawn.
4. ARGUMENTS CONCERNING PRIOR ART REJECTIONS
Rejections - USC 102/103
Applicant's arguments (see pages 6-9 of the remarks dated 12/4/25) with respect to claims 1-20 have been considered but are not persuasive.
Applicant argues (see argument a on pages 6-8) that the Denis reference does not teach the limitation of “the data processing plan is determined based on at least one of a desired level of security requirement, a desired level of performance requirement, a desired level of access requirement, and a desired level of rebuilding requirement”. The Examiner respectfully disagrees. The Denis reference teaches that (paragraph 24) where service requests are received from one or more requester nodes (not shown) which may make use or not of results from the service requests. The service requests are distributed based on a resource allocation plan known to the load balancing node 110. A resource allocation plan proposal is calculated by the resource balancer function 130 based on remaining capacity from the various service nodes 120-126. The Denis reference further teaches (paragraph 31) where the new remaining capacity value of 11 is sent 214 to the resource balancer function 130. Upon reception of the new remaining capacity value, the resource balancer function 130 can calculate a resource attribution plan proposal (216) therewith. Thus, based on the citations above, the Denis reference could teach a “a desired level of performance requirement” or “a desired level of access requirement” as it is load balancing based on a capacity value. The Examiner further notes these “desired levels” are not clearly defined within the claim language, and thus the Examiner contends the Denis reference teaches these “desired levels” as broadly instantly claimed.
Applicant also argues (see argument b on pages 8-9) that the Denis reference does not teach the limitation of “identifying two or more processing units of a plurality of processing units of the storage network based on availability information regarding the plurality of processing units”. The Denis reference teaches (fig. 2; paragraph 33; and table 2) where the resource balancer function 130 sends the resource attribution plan proposal to the load balancing node 110 218. The load balancing node 110 can then apply the proposed resource allocation plan (220). The load balancing node 110 could also measure the variation from the last proposed allocation plan or the active allocation plan and decide not to apply the proposal if at least one of the attribution or the average of change does not meet a predetermine threshold (e.g., 15% variation compared to previous attribution, etc.). The Denis reference further teaches (paragraph 18) a remaining capacity value can be calculated over a determined period of measurement. In the context of tasks or service requests treatment, for instance, the remaining capacity could be a number of events that could have been handled during a last period of measurement or a number of free processor cycles during the last period of measurement. Thus, based on the citations above, the Denis reference identifies a “remaining capacity value” [which considers a’ number of free processor cycles’ and analogous to ‘identifying two or more processing units of a plurality of processing units of the storage network based on availability information regarding the plurality of processing units’ as claimed] before proposing a plan to perform load balancing of the nodes.
Applicant lastly argues (see argument c on page 9) the dependent claims and other independent claims. The Examiner notes the responses above.
5. CLOSING COMMENTS
Conclusion
THIS ACTION IS MADE FINAL. 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.
Any inquiry concerning this communication or earlier communications from the examiner should be directed to PRASITH THAMMAVONG whose telephone number is (571) 270-1040. The examiner can normally be reached Monday - Friday 12-8 PM EST.
Examiner interviews are available via telephone, in-person, and video conferencing using a USPTO supplied web-based collaboration tool. To schedule an interview, applicant is encouraged to use the USPTO Automated Interview Request (AIR) at http://www.uspto.gov/interviewpractice.
If attempts to reach the examiner by telephone are unsuccessful, the examiner’s supervisor, Arpan Savla can be reached on (571) 272-1077. 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.
/PRASITH THAMMAVONG/
Primary Examiner, Art Unit 2137