DETAILED ACTION
This Action is responsive to the Amendments filed on 01/28/2026.
Notice of Pre-AIA or AIA Status
The present application, filed on or after March 16, 2013, is being examined under the first inventor to file provisions of the AIA .
Claim Status
Claims 1, 3-14, and 16-20 are amended. Claims 1, 3-14, and 16-20 are pending and have been examined.
Claim Rejections - 35 USC § 112
The following is a quotation of 35 U.S.C. 112(b):
(b) CONCLUSION.—The specification shall conclude with one or more claims particularly pointing out and distinctly claiming the subject matter which the inventor or a joint inventor regards as the invention.
The following is a quotation of 35 U.S.C. 112 (pre-AIA ), second paragraph:
The specification shall conclude with one or more claims particularly pointing out and distinctly claiming the subject matter which the applicant regards as his invention.
Claim 3-7 and 16-19 rejected under 35 U.S.C. 112(b) or 35 U.S.C. 112 (pre-AIA ), second paragraph, as being indefinite for failing to particularly point out and distinctly claim the subject matter which the inventor or a joint inventor (or for applications subject to pre-AIA 35 U.S.C. 112, the applicant), regards as the invention.
Regarding Claim 3,
Claim 3 recites “the load of the workload” in the 4th line, the scope of which cannot be determined due to numerous reasonable interpretations. In particular, examiner notes that Claim 1 recites the following four elements, each of which can reasonably be considered as a “load of the workload”:
“a virtual central processing unit (CPU) load” (line 12)
“an input/output load” (lines 12-13)
“a memory load” (line 13)
“a load of the workload of the virtual storage system” (lines 16-17)
Therefore, the scope of Claim 3 is indefinite, and the claim is rejected under 35 U.S.C. 112(b). Examiner notes that applicant likely intends to claim the embodiment whereby “the load of the workload” corresponds to 4) above and will therefore interpret Claim 3 accordingly for the purposes of prior art.
In order to overcome this rejection, examiner requests applicant amend the claims to preclude the claimed term “the load of the workload of the virtual storage system” from reading on positively-recited elements 1)-3).
Claim 16 recites substantially similar language as compared to Claim 3 and is therefore similarly rejected under 35 U.S.C. 112(b) according to the same rationale. Claims 4 and 17 are similarly rejected due to their respective claim dependencies.
Examiner notes that Claims 4-6 and 17-19 additionally recite the limitation “the load of the workload of the virtual storage system”. Therefore, Claims 4-6 and 17-19 are similarly rejected under 35 U.S.C. 112(b) according to the same rationale provided above with respect to Claim 3. Claims 6-7, 17, and 19 are similarly rejected due to their respective dependencies.
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.
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.
Claims 1, 3-14, and 16-20 are rejected under 35 U.S.C. 103 as being unpatentable over Norbeck, Jr. et al. (US Patent No. 10748161 B1)(cited by examiner in previous action)(hereafter referred to as Norbeck) further in view of Yang et al. (US 20130297905 A1)(hereafter referred to as Yang) and Peterson (US 20190107967 A1)(cited by examiner in previous action)(hereafter referred to as Peterson).
Regarding Claim 1,
Norbeck discloses the following limitations:
A computer-implemented method for upgrading a virtual storage system (Computing Environment 108, Fig. 1 // “The computing environment 108 … may include hardware resources … and/or virtual resources” [Col. 12, 5-20th lines]), comprising:
acquiring (Fig. 4, step 404) a use status (“usage report information” [Col. 21]) of a storage space of the virtual storage system (step 404, Fig. 4 // “In step 404, the report receiver module 306 … retrieves usage report information for the computing environment 108” [Col. 21, 60th line – end] // “The time translation computing system 104 monitors current usage of the computing environment 108 and may receive usage information indicating usage of the computing environment 108 [Col. 7, 35-60th lines] // “the central IT user rebalances workloads performed by the computing environment 108 … using pools of resources that are not nearing total consumption of resources and/or not nearing a reorder point” [Col. 24, 30-40th lines]) – As shown in Fig. 6 step 404 and disclosed in Col. 21, “usage report information” including “current usage” (i.e., “a use status”) of storage space within computing environment 108 (see Col. 7) is retrieved in order to schedule an upgrade of the computing environment--;
wherein the use status comprises (see MPEP 2143.03)
a used capacity of the storage space (“a current usage” [Col. 22, 5-10th lines]),
a remaining capacity of the storage space, or
a used capacity percentage (“a utilization percentage” [Col. 15]) of the storage space (“The usage report may include a list of one or more objects of the computing environment 108, … a utilization percentage of each of the one or more objects of the computing environment 108” [Col. 15, 10-20th lines] // “The resources 128 of computing environment 108 may represent hardware resources … Resources 128 of a converged infrastructure may include resources, such as … data storage devices, servers, … and/or other computing devices” [Col. 12, 20-60th lines] // “In the present example system, computing resources that are monitored, may be added or upgraded, or the like, are referred to as objects and managed in the system as objects” [Col. 4, 45-50th lines]) – As detailed in Col. 15, usage report information includes “a utilization percentage” for each object/hardware resource in computing environment 108. As clarified in Col. 12, hardware resources of computing environment 108 include “data storage devices” and “servers”. Examiner accordingly considers a utilization percentage for either a data storage device or for a server as reading on the claimed concept of “a used capacity percentage” of a storage space in computing environment--;…
determining to upgrade a storage capacity of the virtual storage system (step 406, Fig. 4 // “In step 406, the reorder point determination module 312 … based on the … usage report information … determines one or more recommended reorder points” [Col. 22, 5-30th lines] // “additional computing resources, e.g., … additional storage capacity” [Col. 22, 45-50th lines]) --As shown in Fig. 4, based on usage report information, recommended times to “reorder” storage resources (i.e., times to “upgrade” “the virtual storage system”) are estimated. As clarified in Col. 22, 45-50th lines, “storage capacity” is one storage resource which can be reordered. –
acquiring a workload (“usage for the computing environment” [Col. 22, 10-11th lines]) of the virtual storage system (step 406, Fig. 4 // “In step 406, the reorder point determination module 312 determines a current usage for the computing environment 108 based on the … usage report information … and determines an estimated future usage for the computing environment based on past usage and an estimated growth in utilization (minimum, average, maximum).” [Col. 22, 5-30th lines]) – As disclosed in Col. 22, all of “a current usage”, “past usage”, “estimated future usage”, and “estimated growth in utilization” (i.e., a “workload” of the virtual storage system) are determined based on the retrieved usage report information. –
wherein the workload of the virtual storage system includes a virtual central processing unit (CPU) load, an input/output load, and a memory load (“As an example, each object of the computing environment 108 may have a physical usage and a utilization percentage … Each processor may have a utilization percentage … The RAM may have a utilization percentage … each port may have a utilization percentage … The storage device utilization percentage may be responsive to a maximum input/output operations per second (IOPS) … each utilization metric for the computing environment 108 may be based on a performance metric associated with and specific to the object” [Col. 17, 60th line – end + Col. 18, 1-40th lines]) – As disclosed in Cols. 17+18, usage metrics for the computing environment (i.e., “the workload”) can include any of a “utilization percentage” of “each processor” (i.e., “a virtual central processing unit (CPU) load”), of “The RAM” (i.e., “a memory load”), or of “IOPS” (i.e., “an input/output load”)--
determining (step 406, Fig. 4) a targeted instant (“recommended reorder point” [Col. 22]) in response to detecting … the use status reaching a second set status (“the recommended utilization” [Col. 16])(Fig. 5B // “In step 406, the reorder point determination module 312 … determines one or more recommended reorder points based on the estimated growth” [Col. 22, 5-30th lines] // “The recommended reorder point may be a specific date, a specific time, a range of time and/or dates” [Col. 9, 5-30th lines] // “As an example, the computing environment may include a storage array that is currently 80% used. Ordering and building a new storage array and relocating the data from the old storage array to the new storage array may take approximately two months. If the recommended utilization for the storage array is 90%, then the reorder point determination module 312 determines a reorder point of eight months.” [Col. 16, 30-45th lines]) – As shown in Fig. 5B and clarified in Col. 16, the reorder point determination module uses the estimated growth in utilization to identify a point in time (i.e., “a targeted instant”) when the current storage utilization is expected to exceed “the recommended utilization” (e.g., 90%) for a particular storage array (i.e., “detecting” “the use status reaching a second set status”, whereby the claimed second set status corresponds to the recommended utilization for the storage array). -- …; and
upgrading the storage capacity of the virtual storage system at the targeted instant. (steps 408-410, Fig. 4 // “In step 408, the reorder point notifier module … generates a message comprising at least the recommended reorder point and/or the recommended upgrades … to the client computing device 102. In step 410, … the client computing device receives the one or more recommended reorder points … e.g., Recommended Reorder Point: 2 months for additional storage capacity … the additional storage capacity is ordered two months from the current date” [Col. 22, 25-60th lines]) – As shown in Fig. 4 and detailed in Col. 22, additional storage resources are ordered and capacity is expanded (i.e., virtual storage is “upgrad[ed]”) once the recommended reorder point arrives.
Although Norbeck Col. 8 discloses “a plan capacity request” received from a client triggers the method of Fig. 4 (i.e., triggers determination of a recommended reorder point), Norbeck does not provide specific detail regarding how the storage utilization of a storage array relates to the plan capacity request received from the client. Thus, Norbeck is silent regarding a first set status, distinct from the recommended utilization for a storage array, which triggers the process to determine a recommended reorder point. Specifically, Norbeck is silent regarding the following limitations:
determining whether the use status has reached a first set status;
in response to the determination the use status reaching the first set status, determining to upgrade a storage capacity of the virtual storage system
However, Yang teaches that a “capacity expansion operation” is triggered when remaining space in a storage pool reaches a predetermined remaining capacity threshold. Specifically, Yang discloses the following limitations:
determining (Fig. 6, step 607) whether the use status has reached a first set status (“a preset remained-capacity threshold Space_Set predetermined for the storage pool” [0053]);
in response to the determination the use status reaching the first set status (Fig. 6, step 607 ‘Y’), determining to upgrade (Fig. 5, step 501 // Fig. 6, step 609) a storage capacity of the virtual storage system (“What is first determined is which storages pools need to be expanded … (501) … At step 601, capacity utilization (e.g., used capacity Space_used) of each storage pool in storage system 4000 is monitored … Next, at step 607, … remaining capacity space Space_Remained is compared with a preset remained-capacity threshold Space_Set predetermined for the storage pool. If the result of the comparison at step 607 shows … Space_Remained ≦ Space_Set, the storage pool is determined as a target storage pool, indicating that the storage pool triggers a capacity expansion operation (step 609)” [0051-53]) – Examiner considers Storage System 4000 comprising storage pools depicted in Yang Fig. 4 as analogous to computing environment 108 comprising resources 128 depicted in Norbeck Fig. 1 because both contain storage resources which are scheduled for capacity expansion according to an estimated future capacity utilization (see Yang Fig. 8). As shown in Yang Fig. 6, when the amount of remaining space remaining in a given storage pool (calculated based on monitored “capacity utilization”; i.e., analogous to the usage report information of Norbeck; i.e., “the use status”) for a given storage pool is less than or equal to the predetermined Space_Set threshold (i.e., “reaching the first set status”), “a capacity expansion operation” is triggered for the storage pool (see Fig. 5,step 501).
Norbeck and Yang are considered analogous to the claimed invention because they all relate to the same field of scheduling upgrades of distributed storage pools based on both a monitored storage capacity of the storage pools and an estimated future storage utilization calculated according to the monitored capacity. Therefore, it would have been obvious for someone of ordinary skill in the art before the effective filing date of the claimed invention to have modified Norbeck with the teachings of Yang and realize a method of triggering a capacity expansion operation in a virtual storage environment when a monitored remaining capacity falls below a predetermined threshold. Doing so automates a conventional process traditionally performed by users, improving efficiency and reducing cost, as disclosed in Yang ¶0023: “conventionally users have to manually remove some volumes from other storage pools and add them into a storage pool required to be expanded, or manually migrate a volume to be expanded into other available storage pool. However, these approaches have poor efficiency and high cost … Disclosed herein, by comparison, are techniques that are capable of monitoring the capacity utilization of a storage system, and automatically and accurately determine a storage resource mobility policy.” [0023]
The combined teachings of Norbeck and Yang render obvious the following limitations:
wherein the second set status is lower than the first set status (Yang, Fig. 5 // “What is first determined is which storage pools need to be expanded” [0050] // “after determining all target storage pools to be expanded in capacity at step 501, method 500 proceeds to step 502, in which for each of the determined storage pools, a storage resource mobility policy is developed for the target storage pool” [0058] // Figs. 8 + 9A // Norbeck, Fig. 5B) – As taught in Yang ¶0058, in order to automate storage capacity expansion, the method 500 is split into phases whereby a first phase (step 501) determines whether a storage pool capacity should be expanded; and a second phase (step 502; see also Fig. 8) determines the specific storage resource mobility policy to be employed. Accordingly, examiner considers the aforementioned second phase of Yang (i.e., step 502) as analogous the method of Norbeck Fig. 4 (i.e., determining when to order expanded capacity) because both are processes performed after a decision has already been made to upgrade the capacity of a storage system. As shown in both Norbeck Fig. 5B and Yang Fig. 9A, capacity is expected to continually increase from a current time (e.g., Current Time of Norbeck / t0 of Yang). One of ordinary skill in the art would accordingly understand that the remaining capacity of a storage system at a point in time when upgrade is recommended (i.e., when “the use status” reaches “the second set status”) would be a smaller amount of remaining capacity than the remaining capacity of the storage system at a point in time when a capacity expansion process is initially triggered (i.e., when “the use status” reaches “the first set status”), and that therefore “the second set status is lower than the first set status”.
The combined teachings of Norbeck and Yang do not explicitly disclose the following limitations:
detecting that a load of the workload of the virtual storage system is lower than a second preset workload threshold and the use status reaching a second set status
However, Peterson discloses the following limitations:
detecting (Fig. 4, step 412) that a load of the workload (IOPS 362, Fig. 3) of the virtual storage system is lower than a second preset workload threshold (Upper Threshold 322, Fig. 3) and the use status (Capacity 350, Fig. 3) reaching a second set status (Upper Threshold 306, Fig. 3)(“Monitoring the characteristics of the SDS systems may include monitoring the capacity of each SDS system in box 402, monitoring IOPS of each SDS system in box 406 and/or monitoring throughput of each SDS system in box 408 … In box 410, the values of the characteristics are compared to thresholds or threshold levels … the SDS system may adjust capacity in box 412 when any one of the characteristics being monitored is greater than the corresponding upper threshold level” [0048-52] // “Capacity is added when one of the characteristics exceeds its corresponding upper threshold. Other combinations can be considered. For example, capacity may be reduced or added when any two of the characteristics exceed their upper threshold. In another example, one characteristic may be given a higher priority than the other characteristics.” [0039-40] // Fig. 3) – As shown in Fig. 4 and described in ¶¶0048-52, all of used capacity (i.e., “the use status”), IOPS (i.e., “the load of the workload”), and throughput of a storage system may be compared to corresponding thresholds (see Fig. 3) in order to determine when to add capacity to the storage system. In this case, examiner considers the used capacity of a storage system exceeding a predetermined threshold as the used capacity “reaching a second set status”. As detailed in ¶¶0039-40, any combination of monitored characteristics of the storage system can be used to determine when to add storage capacity to the storage system such that when one of the monitored characteristics (e.g., Capacity 350, see Fig. 3) exceeds the corresponding upper threshold but the other monitored characteristics (e.g., IOPS 352 and Throughput 354) do not, capacity is added. In such an embodiment whereby capacity is added based on monitored capacity 350 exceeding upper threshold 306, capacity would exceed the corresponding upper threshold but IOPS would not exceed the corresponding upper threshold (i.e., both “a load of the workload” “is lower than a second present workload threshold” and “the use status reaching a second set status” when capacity is added).
Norbeck, Yang, and Peterson are all considered analogous to the claimed invention because they all relate to the same field of scheduling capacity upgrades for virtual storage systems responsive to real-time monitoring of characteristics including storage capacity and workload of the virtual storage system. Therefore, it would have been obvious for someone of ordinary skill in the art before the effective filing date of the claimed invention to have modified Norbeck and Yang with the teachings of Peterson and realize a virtual storage system upgrade method whereby targeted instants to expand capacity of the virtual storage system are determined according to monitored characteristics including both virtual storage capacities and workloads. Automatically provisioning storage capacity when monitored characteristics exceed predetermined thresholds improves a system’s ability to manage capacity or storage, resulting in more effective use of storage, as disclosed in Peterson ¶0013: “Embodiments of the invention monitor these characteristics and when these characteristics pass certain threshold levels, nodes (and thus capacity) can be added to or removed from the SDS systems … For example, a node may be added to an SDS system when any one or more of the characteristics surpass specified or predetermined thresholds … By automatically provisioning and de-provisioning nodes of SDS systems, the ability to manage capacity or storage is improved and storage is used more effectively.” [0013]
Regarding Claim 3,
The same motivation to combine provided in Claim 1 is equally applicable to Claim 3. The combined teachings of Norbeck, Yang, and Peterson disclose the following limitations:
The method according to claim 1, further comprising:
in response to the determination the use status reaching the first set status (Yang, Fig. 6; see Claim 1 limitation mappings above)
determining the targeted instant (Norbeck, Fig. 4; see Claim 1 limitation mappings above) in response to detecting that the load of the workload is greater than the second preset workload threshold and the use status reaching the second set status. (Peterson; Figs. 3 + 4 // “capacity may be reduced or added when any two of the characteristics exceed their upper threshold.” [0039]) – As taught in Peterson ¶0039, capacity can be added when any two of the characteristics depicted in Fig. 3 (e.g., IOPS and Capacity) exceed their respective upper thresholds (i.e., when “the load of the workload is greater than the second present workload threshold and the use status reaching the second set status”).
Regarding Claim 4,
The same motivation to combine provided in Claim 1 is equally applicable to Claim 4. The combined teachings of Norbeck, Yang, and Peterson disclose the following limitations:
The method according to claim 3, wherein determining the targeted instant in response to detecting that the further load of the workload is greater than the second preset workload threshold and the use status reaching the second set status (see Claim 3 limitation mappings above) comprises:
determining (Peterson, Fig. 4, step 410) whether a difference between the load of the workload and the second preset workload threshold is in a permitted range (Peterson, “Capacity is added when one of the characteristics exceeds its corresponding upper threshold. Other combinations can be considered. For example, capacity may be reduced or added when any two of the characteristics exceed their upper threshold.” [0039] // Figs. 3 + 4) – As previously discussed (see Claim 3 limitation mappings above) and as detailed in Peterson, capacity is added when monitored characteristics (i.e., “the load”) exceed corresponding thresholds (i.e., “the second preset workload threshold”). One of ordinary skill in the art would understand that in order for a value to exceed a threshold, a difference between the value and threshold would necessarily be positive. Therefore, in the context of Peterson, capacity is added when the difference between a monitored load and a predetermined threshold is positive (i.e., when the difference between the values is within “a permitted range”).
Regarding Claim 5,
The same motivation to combine provided in Claim 1 is equally applicable to Claim 5. The combined teachings of Norbeck, Yang, and Peterson disclose the following limitations:
The method according to claim 1, further comprising in response to the determination the use status reaching the first set status,
determining at least one candidate instant (Norbeck, “one or more recommended reorder points” [Col. 22, 10-15th lines]) based on the load of the workload and a historic operation condition (Norbeck, “past usage and estimated growth in utilization” [Col. 22, 10-15th lines]) of the virtual storage system (Norbeck, step 406, Fig. 4 // “In step 406, the reorder point determination module … determines an estimated future usage based on past usage and an estimated growth in utilization (minimum, average, maximum). The reorder point determination module 312 determines one or more recommended reorder points based on the estimated growth” [Col. 22, 5-30th lines] // Fig. 5B) – As detailed in Norbeck step 406, at least three recommended reorder points (i.e., “at least one candidate instant”) corresponding to minimum, average, and maximum estimated growths in utilization are determined based in part on current usage, past usage, and estimated future usage (i.e., based on “the workload” and “a historic operating condition”; see also Fig. 5B)--
determining an ending instant (Norbeck, “a point” of “total consumption of resources” [Col. 9, 15-30th lines]) based on the use status and a capacity upper limit (Norbeck, “all available resources” [Col. 9, 15-30th lines]) of the storage space (Norbeck, “When the computing environment 108 consumes all available resources, the computing environment 108 may hit a point known as total consumption of resources” [Col. 9, 15-30th lines] // Fig. 5B) – As detailed in Col. 9 and shown in Fig. 5B, a computing environment contains a maximum amount of “available resources” (e.g., 100% Storage Utilization in Fig. 5B; i.e., contains “a capacity upper limit”), after which “a point” of “total consumption of resources” (i.e., an “ending instant”) is reached by the computing environment.--; and
selecting a targeted instant smaller than the ending instant from the at least one candidate instant (Norbeck, step 406, Fig. 4 // “The reorder determination module 312 determines one or more recommended reorder points based on the estimated growth … As an example, the central IT user may select minimum, average, or maximum and the reorder point determination module may modify its determination” [Col. 22, 5-30th lines] // “The time translation application 126 … provides one or more recommended reorder points … to avoid the total consumption of resources” [Col. 9, 5-30th lines] // Fig. 5B) – As detailed in Norbeck step 406 and shown in Fig. 5B, a central IT user selects one of at least three estimated growths in utilization (e.g., minimum, average, or maximum); and the reorder determination module subsequently predicts the recommended reorder point corresponding to the selected growth in utilization (e.g., Fig. 5B shows an ‘average’ growth selected and a corresponding recommended reorder point of 1 month). As further detailed in Col. 9, the recommended reorder point is specifically determined to “avoid” total consumption of resources (i.e., the selected “targeted instant” is “smaller than” the “ending instant”; see also Fig. 5B where the Reorder Point is selected before the projected time to reach 100% Storage Utilization).
Regarding Claim 7,
The same motivation to combine provided in Claim 1 is equally applicable to Claim 7. The combined teachings of Norbeck, Yang, and Peterson disclose the following limitations:
The method according to claim 5, wherein the use status comprises the used capacity (Norbeck, “a current usage” [Col. 22, 5-10th lines]) of the storage space, and determining the ending instant comprises: acquiring remaining storage data (Norbeck, “estimated future usage” [Col. 22]) and a storage speed (Norbeck, “estimated growth in utilization” [Col. 22]) of the virtual storage system; and determining the ending instant based on the remaining storage data, the storage speed, the used capacity, and the capacity upper limit (Norbeck, step 406, Fig. 4 // “In step 406, the reorder point determination module 312 determines a current usage for the computing environment 108 based on … usage report information … and determines an estimated future usage … and an estimated growth in utilization … The reorder point determination module 312 determines one or more recommended reorder points based on the estimated growth” [Col. 22, 5-30th lines] // Figs. 4 + 5B // Col. 21-23) – As shown in Fig. 5B and disclosed in Col. 22, all of a “current usage”, “estimated future usage”, “estimated growth in utilization”, and the “100% Storage Utilization” point (see Fig. 5B) (i.e., the claimed “used capacity”, “remaining storage data”, “storage speed”, and “capacity upper limit”, respectively) are used to determine a point in time when 100% storage utilization (i.e., “the ending instant”) will be reached (see Fig. 5B).
Regarding Claim 8,
The same motivation to combine provided in Claim 1 is equally applicable to Claim 8. The combined teachings of Norbeck, Yang, and Peterson disclose the following limitations:
The method according to claim 1, wherein the use status of the storage space of the virtual storage system comprises the remaining capacity of the storage space (Peterson, “the amount of capacity or storage actually used with respect to total capacity being managed, respectively, by the SDS systems A and B” [0029]) -- As disclosed in Peterson ¶0029, the capacity characteristic being monitored to provision capacity for storage systems includes a measure of remaining capacity with respect to a total capacity, which examiner considers as reading on the claimed concept of “remaining capacity”--
and determining to upgrade the storage capacity of the virtual storage system (Peterson, Fig. 4) comprises:
determining to upgrade the storage capacity of the virtual storage system in response to the remaining capacity of the storage space reaching a set status (Peterson, “Characteristics such as IOPS, capacity, and throughput of the SDS systems are monitored. Capacity or storage is added … based on the relationships between the characteristics of the SDS systems with respect to upper and lower thresholds.” [Abstract] // ¶0040) – As taught in Peterson, the determination to provision additional capacity for an SDS system can be made when the monitored capacity for the SDS system exceeds a corresponding upper threshold (see ¶0040; i.e., when the remaining capacity reaches “a set status”) of an object storage (Peterson, “SDS systems, for example, may be … object based” [0005])
Regarding Claim 9,
The same motivation to combine provided in Claim 1 is equally applicable to Claim 9. The combined teachings of Norbeck, Yang, and Peterson disclose the following limitations:
The method according to claim 1, wherein the use status of the storage space of the virtual storage system comprises the remaining capacity of the storage space (Peterson, “the amount of capacity or storage actually used with respect to total capacity being managed, respectively, by the SDS systems A and B” [0029]) -- As disclosed in Peterson ¶0029, the capacity characteristic being monitored to provision capacity for storage systems includes a measure of remaining capacity with respect to a total capacity, which examiner considers as reading on the claimed concept of “remaining capacity”--, and
determining to upgrade the storage capacity of the virtual storage system (Peterson, Fig. 4)
comprises:
determining to upgrade the storage capacity of the virtual storage system in response to the remaining capacity of the storage space reaching a set status (Peterson, “Characteristics such as IOPS, capacity, and throughput of the SDS systems are monitored. Capacity or storage is added … based on the relationships between the characteristics of the SDS systems with respect to upper and lower thresholds.” [Abstract] // ¶0040) – As taught in Peterson, the determination to provision additional capacity for an SDS system can be made when the monitored capacity for the SDS system exceeds a corresponding upper threshold (see ¶0040; i.e., when the remaining capacity reaches “a set status”) -- of a chunk storage (Peterson, “SDS systems, for example, may be block based” [0005])
Regarding Claim 12,
The same motivation to combine provided in Claim 1 is equally applicable to Claim 12. The combined teachings of Norbeck, Yang, and Peterson disclose the following limitations:
The method according to claim 1 (see Claim 1 limitation mappings above), wherein upgrading the virtual storage system comprises at least one of:
adding a virtual storage;
expanding a capacity of the virtual storage system; and
reconfiguring the virtual storage system (Norbeck, “the additional storage capacity is ordered two months from the current date” [Col. 22, 25-60th lines]) – In this case, ordering “additional storage capacity” is considered as at least any one of “adding a virtual storage”, “expanding a capacity” of the virtual storage system, and “reconfiguring” the virtual storage system--
Regarding Claim 13,
The same motivation to combine provided in Claim 1 is equally applicable to Claim 13. The combined teachings of Norbeck, Yang, and Peterson disclose the following limitations:
The method according to claim 1, wherein upgrading the virtual storage system comprises: upgrading the virtual storage system by using a preset cloud function (Norbeck, time translation application 126, Fig. 1 // “Fig. 1 illustrates an example system for determining when to order computing resources 100 including a time translation computing system 104 … The system for determining when to order computing resources 100 may be a component provided by a cloud management and brokerage portal” [Col. 6, 50-55th lines] // “The time translation application 126 includes a reorder point determination module 312” [Col. 16, 1-5th lines] // Figs. 1 + 3) – As shown in Figs. 1 + 3, a “time translation application” provided by “a cloud management and brokerage portal” (i.e., a “preset cloud function”) provides the reorder point determination module 312 which acquires the use status and which determines the targeted instant (see Claim 1 limitation mappings above).
Regarding Claim 14,
Norbeck discloses the following limitations:
An electronic device (Time Translation Computing System 104, Fig. 1), comprising:
at least one processor (Processor 122, Fig. 1); and a memory (Memory 124, Fig. 1) coupled to the at least one processor and having instructions stored thereon that, when executed by the at least one processor, cause the electronic device to perform actions comprising ([Col. 11, 50-60th lines]):
acquiring (Fig. 4, step 404) a use status (“usage report information” [Col. 21]) of a storage space (“pool of resources” [Col. 24, 35-40th lines])) of a virtual storage system (step 404, Fig. 4 // “In step 404, the report receiver module 306 … retrieves usage report information for the computing environment 108” [Col. 21, 60th line – end] // “The time translation computing system 104 monitors current usage of the computing environment 108 and may receive usage information indicating usage of the computing environment 108 [Col. 7, 35-60th lines] // “the central IT user rebalances workloads performed by the computing environment 108 … using pools of resources that are not nearing total consumption of resources and/or not nearing a reorder point” [Col. 24, 30-40th lines]) – As shown in Fig. 6 step 404 and disclosed in Col. 21, “usage report information” (i.e., “a use status”) of storage space within computing environment 108 (see Col. 7) is retrieved in order to schedule an upgrade of the computing environment--,
wherein the use status comprises (see MPEP 2143.03)
a used capacity of the storage space (“a current usage” [Col. 22, 5-10th lines]),
a remaining capacity of the storage space, or
a used capacity percentage (“a utilization percentage” [Col. 15]) of the storage space (“The usage report may include a list of one or more objects of the computing environment 108, … a utilization percentage of each of the one or more objects of the computing environment 108” [Col. 15, 10-20th lines] // “The resources 128 of computing environment 108 may represent hardware resources … Resources 128 of a converged infrastructure may include resources, such as … data storage devices, servers, … and/or other computing devices” [Col. 12, 20-60th lines] // “In the present example system, computing resources that are monitored, may be added or upgraded, or the like, are referred to as objects and managed in the system as objects” [Col. 4, 45-50th lines]) – As detailed in Col. 15, usage report information includes “a utilization percentage” for each object/hardware resource in computing environment 108. As clarified in Col. 12, hardware resources of computing environment 108 include “data storage devices” and “servers”. Examiner accordingly considers a utilization percentage for either a data storage device or for a server as reading on the claimed concept of “a used capacity percentage” of a storage space in computing environment--; …
determining to upgrade a storage capacity of the virtual storage system (step 406, Fig. 4 // “In step 406, the reorder point determination module 312 … based on the … usage report information … determines one or more recommended reorder points” [Col. 22, 5-30th lines] // “additional computing resources, e.g., … additional storage capacity” [Col. 22, 45-50th lines]) --As shown in Fig. 4, based on usage report information, recommended times to “reorder” storage resources (i.e., times to “upgrade” “the virtual storage system”) are estimated. As clarified in Col. 22, 45-50th lines, “storage capacity” is one storage resource which can be reordered. –
acquiring a workload (“usage for the computing environment” [Col. 22, 10-11th lines]) of the virtual storage system (step 406, Fig. 4 // “In step 406, the reorder point determination module 312 determines a current usage for the computing environment 108 based on the … usage report information … and determines an estimated future usage for the computing environment based on past usage and an estimated growth in utilization (minimum, average, maximum).” [Col. 22, 5-30th lines]) – As disclosed in Col. 22, all of “a current usage”, “past usage”, “estimated future usage”, and “estimated growth in utilization” (i.e., a “workload” of the virtual storage system) are determined based on the retrieved usage report information. --,
wherein the workload of the virtual storage system comprises a virtual central processing unit (CPU) load, an input/output load, and a memory load (“As an example, each object of the computing environment 108 may have a physical usage and a utilization percentage … Each processor may have a utilization percentage … The RAM may have a utilization percentage … each port may have a utilization percentage … The storage device utilization percentage may be responsive to a maximum input/output operations per second (IOPS) … each utilization metric for the computing environment 108 may be based on a performance metric associated with and specific to the object” [Col. 17, 60th line – end + Col. 18, 1-40th lines]) – As disclosed in Cols. 17+18, usage metrics for the computing environment (i.e., “the workload”) can include any of a “utilization percentage” of “each processor” (i.e., “a virtual central processing unit (CPU) load”), of “The RAM” (i.e., “a memory load”), or of “IOPS” (i.e., “an input/output load”)--
and
determining (step 406, Fig. 4) a targeted instant (“recommended reorder point” [Col. 22]) in response to detecting … the use status reaching a second set status (“the recommended utilization” [Col. 16])(Fig. 5B // “In step 406, the reorder point determination module 312 … determines one or more recommended reorder points based on the estimated growth” [Col. 22, 5-30th lines] // “The recommended reorder point may be a specific date, a specific time, a range of time and/or dates” [Col. 9, 5-30th lines] // “As an example, the computing environment may include a storage array that is currently 80% used. Ordering and building a new storage array and relocating the data from the old storage array to the new storage array may take approximately two months. If the recommended utilization for the storage array is 90%, then the reorder point determination module 312 determines a reorder point of eight months.” [Col. 16, 30-45th lines]) – As shown in Fig. 5B and clarified in Col. 16, the reorder point determination module uses the estimated growth in utilization to identify a point in time (i.e., “a targeted instant”) when the current storage utilization is expected to exceed “the recommended utilization” (e.g., 90%) for a particular storage array (i.e., “detecting” “the use status reaching a second set status”, whereby the claimed second set status corresponds to the recommended utilization for the storage array). --, and
upgrading the storage capacity of the virtual storage system at the targeted instant(steps 408-410, Fig. 4 // “In step 408, the reorder point notifier module … generates a message comprising at least the recommended reorder point and/or the recommended upgrades … to the client computing device 102. In step 410, … the client computing device receives the one or more recommended reorder points … e.g., Recommended Reorder Point: 2 months for additional storage capacity … the additional storage capacity is ordered two months from the current date” [Col. 22, 25-60th lines]) – As shown in Fig. 4 and detailed in Col. 22, additional storage resources are ordered and capacity is expanded (i.e., virtual storage is “upgrad[ed]”) once the recommended reorder point arrives.
Although Norbeck Col. 8 discloses “a plan capacity request” received from a client triggers the method of Fig. 4 (i.e., triggers determination of a recommended reorder point), Norbeck does not provide specific detail regarding how the storage utilization of a storage array relates to the plan capacity request received from the client. Thus, Norbeck is silent regarding a first set status, distinct from the recommended utilization for a storage array, which triggers the process to determine a recommended reorder point. Specifically, Norbeck is silent regarding the following limitations:
determining whether the use status has reached a first set status;
in response to the determination the use status reaching the first set status, determining to upgrade a storage capacity of the virtual storage system
However, Yang teaches that a “capacity expansion operation” is triggered when remaining space in a storage pool reaches a predetermined remaining capacity threshold. Specifically, Yang discloses the following limitations:
determining (Fig. 6, step 607) whether the use status has reached a first set status (“a preset remained-capacity threshold Space_Set predetermined for the storage pool” [0053]);
in response to the determination the use status reaching the first set status (Fig. 6, step 607 ‘Y’), determining to upgrade (Fig. 5, step 501 // Fig. 6, step 609) a storage capacity of the virtual storage system (“What is first determined is which storages pools need to be expanded … (501) … At step 601, capacity utilization (e.g., used capacity Space_used) of each storage pool in storage system 4000 is monitored … Next, at step 607, … remaining capacity space Space_Remained is compared with a preset remained-capacity threshold Space_Set predetermined for the storage pool. If the result of the comparison at step 607 shows … Space_Remained ≦ Space_Set, the storage pool is determined as a target storage pool, indicating that the storage pool triggers a capacity expansion operation (step 609)” [0051-53]) – Examiner considers Storage System 4000 comprising storage pools depicted in Yang Fig. 4 as analogous to computing environment 108 comprising resources 128 depicted in Norbeck Fig. 1 because both contain storage resources which are scheduled for capacity expansion according to an estimated future capacity utilization (see Yang Fig. 8). As shown in Yang Fig. 6, when the amount of remaining space remaining in a given storage pool (calculated based on monitored “capacity utilization”; i.e., analogous to the usage report information of Norbeck; i.e., “the use status”) for a given storage pool is less than or equal to the predetermined Space_Set threshold (i.e., “reaching the first set status”), “a capacity expansion operation” is triggered for the storage pool (see Fig. 5,step 501).
Norbeck and Yang are considered analogous to the claimed invention because they all relate to the same field of scheduling upgrades of distributed storage pools based on both a monitored storage capacity of the storage pools and an estimated future storage utilization calculated according to the monitored capacity. Therefore, it would have been obvious for someone of ordinary skill in the art before the effective filing date of the claimed invention to have modified Norbeck with the teachings of Yang and realize a method of triggering a capacity expansion operation in a virtual storage environment when a monitored remaining capacity falls below a predetermined threshold. Doing so automates a conventional process traditionally performed by users, improving efficiency and reducing cost, as disclosed in Yang ¶0023: “conventionally users have to manually remove some volumes from other storage pools and add them into a storage pool required to be expanded, or manually migrate a volume to be expanded into other available storage pool. However, these approaches have poor efficiency and high cost … Disclosed herein, by comparison, are techniques that are capable of monitoring the capacity utilization of a storage system, and automatically and accurately determine a storage resource mobility policy.” [0023]
The combined teachings of Norbeck and Yang render obvious the following limitations:
wherein the second set status is lower than the first set status (Yang, Fig. 5 // “What is first determined is which storage pools need to be expanded” [0050] // “after determining all target storage pools to be expanded in capacity at step 501, method 500 proceeds to step 502, in which for each of the determined storage pools, a storage resource mobility policy is developed for the target storage pool” [0058] // Figs. 8 + 9A // Norbeck, Fig. 5B) – As taught in Yang ¶0058, in order to automate storage capacity expansion, the method 500 is split into phases whereby a first phase (step 501) determines whether a storage pool capacity should be expanded; and a second phase (step 502; see also Fig. 8) determines the specific storage resource mobility policy to be employed. Accordingly, examiner considers the aforementioned second phase of Yang (i.e., step 502) as analogous the method of Norbeck Fig. 4 (i.e., determining when to order expanded capacity) because both are processes performed after a decision has already been made to upgrade the capacity of a storage system. As shown in both Norbeck Fig. 5B and Yang Fig. 9A, capacity is expected to continually increase from a current time (e.g., Current Time of Norbeck / t0 of Yang). One of ordinary skill in the art would accordingly understand that the remaining capacity of a storage system at a point in time when upgrade is recommended (i.e., when “the use status” reaches “the second set status”) would be a smaller amount of remaining capacity than the remaining capacity of the storage system at a point in time when a capacity expansion process is initially triggered (i.e., when “the use status” reaches “the first set status”), and that therefore “the second set status is lower than the first set status”.
The combined teachings of Norbeck and Yang do not explicitly disclose the following limitations:
detecting that a load of the workload of the virtual storage system is lower than a second preset workload threshold and the use status reaching a second set status
However, Peterson discloses the following limitations:
detecting (Fig. 4, step 412) that a load of the workload (IOPS 362, Fig. 3) of the virtual storage system is lower than a second preset workload threshold (Upper Threshold 322, Fig. 3) and the use status (Capacity 350, Fig. 3) reaching a second set status (Upper Threshold 306, Fig. 3)(“Monitoring the characteristics of the SDS systems may include monitoring the capacity of each SDS system in box 402, monitoring IOPS of each SDS system in box 406 and/or monitoring throughput of each SDS system in box 408 … In box 410, the values of the characteristics are compared to thresholds or threshold levels … the SDS system may adjust capacity in box 412 when any one of the characteristics being monitored is greater than the corresponding upper threshold level” [0048-52] // “Capacity is added when one of the characteristics exceeds its corresponding upper threshold. Other combinations can be considered. For example, capacity may be reduced or added when any two of the characteristics exceed their upper threshold. In another example, one characteristic may be given a higher priority than the other characteristics.” [0039-40] // Fig. 3) – As shown in Fig. 4 and described in ¶¶0048-52, all of used capacity (i.e., “the use status”), IOPS (i.e., “the load of the workload”), and throughput of a storage system may be compared to corresponding thresholds (see Fig. 3) in order to determine when to add capacity to the storage system. In this case, examiner considers the used capacity of a storage system exceeding a predetermined threshold as the used capacity “reaching a second set status”. As detailed in ¶¶0039-40, any combination of monitored characteristics of the storage system can be used to determine when to add storage capacity to the storage system such that when one of the monitored characteristics (e.g., Capacity 350, see Fig. 3) exceeds the corresponding upper threshold but the other monitored characteristics (e.g., IOPS 352 and Throughput 354) do not, capacity is added. In such an embodiment whereby capacity is added based on monitored capacity 350 exceeding upper threshold 306, capacity would exceed the corresponding upper threshold but IOPS would not exceed the corresponding upper threshold (i.e., both “a load of the workload” “is lower than a second present workload threshold” and “the use status reaching a second set status” when capacity is added).
Norbeck, Yang, and Peterson are all considered analogous to the claimed invention because they all relate to the same field of scheduling capacity upgrades for virtual storage systems responsive to real-time monitoring of characteristics including storage capacity and workload of the virtual storage system. Therefore, it would have been obvious for someone of ordinary skill in the art before the effective filing date of the claimed invention to have modified Norbeck and Yang with the teachings of Peterson and realize a virtual storage system upgrade method whereby targeted instants to expand capacity of the virtual storage system are determined according to monitored characteristics including both virtual storage capacities and workloads. Automatically provisioning storage capacity when monitored characteristics exceed predetermined thresholds improves a system’s ability to manage capacity or storage, resulting in more effective use of storage, as disclosed in Peterson ¶0013: “Embodiments of the invention monitor these characteristics and when these characteristics pass certain threshold levels, nodes (and thus capacity) can be added to or removed from the SDS systems … For example, a node may be added to an SDS system when any one or more of the characteristics surpass specified or predetermined thresholds … By automatically provisioning and de-provisioning nodes of SDS systems, the ability to manage capacity or storage is improved and storage is used more effectively.” [0013]
Regarding Claim 16,
The same motivation to combine provided in Claim 14 is equally applicable to Claim 16. The combined teachings of Norbeck, Yang, and Peterson disclose the following limitations:
The device according to claim 14, wherein the actions further comprise: wherein in response to the determination the use status reaching the first set status, determining the targeted instant (Peterson, Fig. 4, step 412) in response to detecting (Peterson, Fig. 4, step 410) that the load of the workload (Peterson, “processor utilization” [0027]) is greater than the second preset workload threshold (Peterson, “exceeds its corresponding upper threshold” [0039]) and the use status (Peterson, Capacity 360, Fig. 3) reaching the second set status (Peterson, “Capacity is added when one of the characteristics exceeds its corresponding upper threshold. Other combinations can be considered. For example, capacity may be reduced or added when any two of the characteristics exceed their upper threshold.” [0039] // “Fig. 3 illustrates graphs associated with characteristics of the SDS systems … other performance or capacity metrics might be used … such as, but not limited to, cache capacity or utilization, processor utilization, or the like or any combination thereof” [0027] // Fig. 3) – As taught in Peterson ¶0027, when any combination (e.g., two) of storage system characteristics (i.e., capacity and processor utilization; see ¶0027; i.e., “the use status” and “a further load of the workload”, respectively) exceed corresponding upper thresholds at the same time (i.e., capacity “reaching the second set status” and processor utilization being “greater than the second preset workload threshold” at the same time), additional capacity is automatically provisioned (see Peterson Figs. 3 + 4; see also Claim 14 limitation mappings above)
Regarding Claim 17,
The same motivation to combine provided in Claim 14 is equally applicable to Claim 17. The combined teachings of Norbeck, Yang, and Peterson disclose the following limitations:
The device according to claim 16, wherein determining the targeted instant in response to detecting that the load of the workload is greater than the second preset workload threshold and the use status reaching the second set status (see Claim 16 limitation mappings above) comprises:
determining (Peterson, Fig. 4, step 410) whether a difference between the load of the workload and the second preset workload threshold is in a permitted range (Peterson, “Capacity is added when one of the characteristics exceeds its corresponding upper threshold. Other combinations can be considered. For example, capacity may be reduced or added when any two of the characteristics exceed their upper threshold.” [0039] // Figs. 3 + 4) – As previously discussed (see Claim 16 limitation mappings above) and as detailed in Peterson, capacity is added when monitored characteristics (i.e., “the load”) exceed corresponding thresholds (i.e., “the second preset workload threshold”). One of ordinary skill in the art would understand that in order for a value to exceed a threshold, a difference between the value and threshold would necessarily be positive. Therefore, in the context of Peterson, capacity is added when the difference between a monitored load and a predetermined threshold is positive (i.e., when the difference between the values is within “a permitted range”).
Regarding Claim 18,
The same motivation to combine provided in Claim 14 is equally applicable to Claim 18. The combined teachings of Norbeck, Yang, and Peterson disclose the following limitations:
The device according to claim 14, wherein the actions further comprise in response to the determination the use status reaching the first set status,
determining at least one candidate instant (Norbeck, “one or more recommended reorder points” [Col. 22, 10-15th lines]) based on the load of the workload and a historic operation condition (Norbeck, “past usage and estimated growth in utilization” [Col. 22, 10-15th lines]) of the virtual storage system (Norbeck, step 406, Fig. 4 // “In step 406, the reorder point determination module … determines an estimated future usage based on past usage and an estimated growth in utilization (minimum, average, maximum). The reorder point determination module 312 determines one or more recommended reorder points based on the estimated growth” [Col. 22, 5-30th lines] // Fig. 5B) – As detailed in Norbeck step 406, at least three recommended reorder points (i.e., “at least one candidate instant”) corresponding to minimum, average, and maximum estimated growths in utilization are determined based in part on current usage, past usage, and estimated future usage (i.e., based on “the workload” and “a historic operating condition”; see also Fig. 5B)--;
determining an ending instant (Norbeck, “a point” of “total consumption of resources” [Col. 9, 15-30th lines]) based on the use status and a capacity upper limit (Norbeck, “all available resources” [Col. 9, 15-30th lines]) of the storage space (Norbeck, “When the computing environment 108 consumes all available resources, the computing environment 108 may hit a point known as total consumption of resources” [Col. 9, 15-30th lines] // Fig. 5B) – As detailed in Col. 9 and shown in Fig. 5B, a computing environment contains a maximum amount of “available resources” (e.g., 100% Storage Utilization in Fig. 5B; i.e., contains “a capacity upper limit”), after which “a point” of “total consumption of resources” (i.e., an “ending instant”) is reached by the storage system.--; and
selecting a targeted instant smaller than the ending instant from the at least one candidate instant (Norbeck, step 406, Fig. 4 // “The reorder determination module 312 determines one or more recommended reorder points based on the estimated growth … As an example, the central IT user may select minimum, average, or maximum and the reorder point determination module may modify its determination” [Col. 22, 5-30th lines] // “The time translation application 126 … provides one or more recommended reorder points … to avoid the total consumption of resources” [Col. 9, 5-30th lines] // Fig. 5B) – As detailed in Norbeck step 406 and shown in Fig. 5B, a central IT user selects one of at least three estimated growths in utilization (e.g., minimum, average, or maximum); and the reorder determination module subsequently predicts the recommended reorder point corresponding to the selected growth in utilization (e.g., Fig. 5B shows an ‘average’ growth selected and a corresponding recommended reorder point of 1 month). As further detailed in Col. 9, the recommended reorder point is specifically determined to “avoid” total consumption of resources (i.e., the selected “targeted instant” is “smaller than” the “ending instant”; see also Fig. 5B where the Reorder Point is selected before the projected time to reach 100% Storage Utilization).
Regarding Claim 20,
Norbeck discloses the following limitations:
A non-transitory computer-readable medium comprising machine-executable instructions that, when executed, cause a machine (Time Translation Computing System 104, Fig. 1) to perform actions comprising:
acquiring (Fig. 4, step 404) a use status (“usage report information” [Col. 21]) of a storage space (“pool of resources” [Col. 24, 35-40th lines])) of a virtual storage system (step 404, Fig. 4 // “In step 404, the report receiver module 306 … retrieves usage report information for the computing environment 108” [Col. 21, 60th line – end] // “The time translation computing system 104 monitors current usage of the computing environment 108 and may receive usage information indicating usage of the computing environment 108 [Col. 7, 35-60th lines] // “the central IT user rebalances workloads performed by the computing environment 108 … using pools of resources that are not nearing total consumption of resources and/or not nearing a reorder point” [Col. 24, 30-40th lines]) – As shown in Fig. 6 step 404 and disclosed in Col. 21, “usage report information” (i.e., “a use status”) of storage space within computing environment 108 (see Col. 7) is retrieved in order to schedule an upgrade of the computing environment--;
wherein the use status comprises (see MPEP 2143.03)
a used capacity of the storage space,
a remaining capacity of the storage space, or
a used capacity percentage (“a utilization percentage” [Col. 15]) of the storage space (“The usage report may include a list of one or more objects of the computing environment 108, … a utilization percentage of each of the one or more objects of the computing environment 108” [Col. 15, 10-20th lines] // “The resources 128 of computing environment 108 may represent hardware resources … Resources 128 of a converged infrastructure may include resources, such as … data storage devices, servers, … and/or other computing devices” [Col. 12, 20-60th lines] // “In the present example system, computing resources that are monitored, may be added or upgraded, or the like, are referred to as objects and managed in the system as objects” [Col. 4, 45-50th lines]) – As detailed in Col. 15, usage report information includes “a utilization percentage” for each object/hardware resource in computing environment 108. As clarified in Col. 12, hardware resources of computing environment 108 include “data storage devices” and “servers”. Examiner accordingly considers a utilization percentage for either a data storage device or for a server as reading on the claimed concept of “a used capacity percentage” of a storage space in computing environment--;
determining to upgrade a storage capacity of the virtual storage system (step 406, Fig. 4 // “In step 406, the reorder point determination module 312 … based on the … usage report information … determines one or more recommended reorder points” [Col. 22, 5-30th lines] // “additional computing resources, e.g., … additional storage capacity” [Col. 22, 45-50th lines]) --As shown in Fig. 4, based on usage report information, recommended times to “reorder” storage resources (i.e., times to “upgrade” “the virtual storage system”) are estimated. As clarified in Col. 22, 45-50th lines, “storage capacity” is one storage resource which can be reordered. –
acquiring a workload (“usage for the computing environment” [Col. 22, 10-11th lines]) of the virtual storage system (step 406, Fig. 4 // “In step 406, the reorder point determination module 312 determines a current usage for the computing environment 108 based on the … usage report information … and determines an estimated future usage for the computing environment based on past usage and an estimated growth in utilization (minimum, average, maximum).” [Col. 22, 5-30th lines]) – As disclosed in Col. 22, all of “a current usage”, “past usage”, “estimated future usage”, and “estimated growth in utilization” (i.e., a “workload” of the virtual storage system) are determined based on the retrieved usage report information. --,
wherein the workload of the virtual storage system comprises a virtual central processing unit (CPU) load, an input/output load, and a memory load (“As an example, each object of the computing environment 108 may have a physical usage and a utilization percentage … Each processor may have a utilization percentage … The RAM may have a utilization percentage … each port may have a utilization percentage … The storage device utilization percentage may be responsive to a maximum input/output operations per second (IOPS) … each utilization metric for the computing environment 108 may be based on a performance metric associated with and specific to the object” [Col. 17, 60th line – end + Col. 18, 1-40th lines]) – As disclosed in Cols. 17+18, usage metrics for the computing environment (i.e., “the workload”) can include any of a “utilization percentage” of “each processor” (i.e., “a virtual central processing unit (CPU) load”), of “The RAM” (i.e., “a memory load”), or of “IOPS” (i.e., “an input/output load”)--
and
determining (step 406, Fig. 4) a targeted instant (“recommended reorder point” [Col. 22]) in response to detecting … the use status reaching a second set status (“the recommended utilization” [Col. 16])(Fig. 5B // “In step 406, the reorder point determination module 312 … determines one or more recommended reorder points based on the estimated growth” [Col. 22, 5-30th lines] // “The recommended reorder point may be a specific date, a specific time, a range of time and/or dates” [Col. 9, 5-30th lines] // “As an example, the computing environment may include a storage array that is currently 80% used. Ordering and building a new storage array and relocating the data from the old storage array to the new storage array may take approximately two months. If the recommended utilization for the storage array is 90%, then the reorder point determination module 312 determines a reorder point of eight months.” [Col. 16, 30-45th lines]) – As shown in Fig. 5B and clarified in Col. 16, the reorder point determination module uses the estimated growth in utilization to identify a point in time (i.e., “a targeted instant”) when the current storage utilization is expected to exceed “the recommended utilization” (e.g., 90%) for a particular storage array (i.e., “detecting” “the use status reaching a second set status”, whereby the claimed second set status corresponds to the recommended utilization for the storage array). --, and
upgrading the storage capacity of the virtual storage system at the targeted instant(steps 408-410, Fig. 4 // “In step 408, the reorder point notifier module … generates a message comprising at least the recommended reorder point and/or the recommended upgrades … to the client computing device 102. In step 410, … the client computing device receives the one or more recommended reorder points … e.g., Recommended Reorder Point: 2 months for additional storage capacity … the additional storage capacity is ordered two months from the current date” [Col. 22, 25-60th lines]) – As shown in Fig. 4 and detailed in Col. 22, additional storage resources are ordered and capacity is expanded (i.e., virtual storage is “upgrad[ed]”) once the recommended reorder point arrives.
Although Norbeck Col. 8 discloses “a plan capacity request” received from a client triggers the method of Fig. 4 (i.e., triggers determination of a recommended reorder point), Norbeck does not provide specific detail regarding how the storage utilization of a storage array relates to the plan capacity request received from the client. Thus, Norbeck is silent regarding a first set status, distinct from the recommended utilization for a storage array, which triggers the process to determine a recommended reorder point. Specifically, Norbeck is silent regarding the following limitations:
determining whether the use status has reached a first set status;
in response to the determination the use status reaching the first set status, determining to upgrade a storage capacity of the virtual storage system
However, Yang teaches that a “capacity expansion operation” is triggered when remaining space in a storage pool reaches a predetermined remaining capacity threshold. Specifically, Yang discloses the following limitations:
determining (Fig. 6, step 607) whether the use status has reached a first set status (“a preset remained-capacity threshold Space_Set predetermined for the storage pool” [0053]);
in response to the determination the use status reaching the first set status (Fig. 6, step 607 ‘Y’), determining to upgrade (Fig. 5, step 501 // Fig. 6, step 609) a storage capacity of the virtual storage system (“What is first determined is which storages pools need to be expanded … (501) … At step 601, capacity utilization (e.g., used capacity Space_used) of each storage pool in storage system 4000 is monitored … Next, at step 607, … remaining capacity space Space_Remained is compared with a preset remained-capacity threshold Space_Set predetermined for the storage pool. If the result of the comparison at step 607 shows … Space_Remained ≦ Space_Set, the storage pool is determined as a target storage pool, indicating that the storage pool triggers a capacity expansion operation (step 609)” [0051-53]) – Examiner considers Storage System 4000 comprising storage pools depicted in Yang Fig. 4 as analogous to computing environment 108 comprising resources 128 depicted in Norbeck Fig. 1 because both contain storage resources which are scheduled for capacity expansion according to an estimated future capacity utilization (see Yang Fig. 8). As shown in Yang Fig. 6, when the amount of remaining space remaining in a given storage pool (calculated based on monitored “capacity utilization”; i.e., analogous to the usage report information of Norbeck; i.e., “the use status”) for a given storage pool is less than or equal to the predetermined Space_Set threshold (i.e., “reaching the first set status”), “a capacity expansion operation” is triggered for the storage pool (see Fig. 5,step 501).
Norbeck and Yang are considered analogous to the claimed invention because they all relate to the same field of scheduling upgrades of distributed storage pools based on both a monitored storage capacity of the storage pools and an estimated future storage utilization calculated according to the monitored capacity. Therefore, it would have been obvious for someone of ordinary skill in the art before the effective filing date of the claimed invention to have modified Norbeck with the teachings of Yang and realize a method of triggering a capacity expansion operation in a virtual storage environment when a monitored remaining capacity falls below a predetermined threshold. Doing so automates a conventional process traditionally performed by users, improving efficiency and reducing cost, as disclosed in Yang ¶0023: “conventionally users have to manually remove some volumes from other storage pools and add them into a storage pool required to be expanded, or manually migrate a volume to be expanded into other available storage pool. However, these approaches have poor efficiency and high cost … Disclosed herein, by comparison, are techniques that are capable of monitoring the capacity utilization of a storage system, and automatically and accurately determine a storage resource mobility policy.” [0023]
The combined teachings of Norbeck and Yang render obvious the following limitations:
wherein the second set status is lower than the first set status (Yang, Fig. 5 // “What is first determined is which storage pools need to be expanded” [0050] // “after determining all target storage pools to be expanded in capacity at step 501, method 500 proceeds to step 502, in which for each of the determined storage pools, a storage resource mobility policy is developed for the target storage pool” [0058] // Figs. 8 + 9A // Norbeck, Fig. 5B) – As taught in Yang ¶0058, in order to automate storage capacity expansion, the method 500 is split into phases whereby a first phase (step 501) determines whether a storage pool capacity should be expanded; and a second phase (step 502; see also Fig. 8) determines the specific storage resource mobility policy to be employed. Accordingly, examiner considers the aforementioned second phase of Yang (i.e., step 502) as analogous the method of Norbeck Fig. 4 (i.e., determining when to order expanded capacity) because both are processes performed after a decision has already been made to upgrade the capacity of a storage system. As shown in both Norbeck Fig. 5B and Yang Fig. 9A, capacity is expected to continually increase from a current time (e.g., Current Time of Norbeck / t0 of Yang). One of ordinary skill in the art would accordingly understand that the remaining capacity of a storage system at a point in time when upgrade is recommended (i.e., when “the use status” reaches “the second set status”) would be a smaller amount of remaining capacity than the remaining capacity of the storage system at a point in time when a capacity expansion process is initially triggered (i.e., when “the use status” reaches “the first set status”), and that therefore “the second set status is lower than the first set status”.
The combined teachings of Norbeck and Yang do not explicitly disclose the following limitations:
detecting that a load of the workload of the virtual storage system is lower than a second preset workload threshold and the use status reaching a second set status
However, Peterson discloses the following limitations:
detecting (Fig. 4, step 412) that a load of the workload (IOPS 362, Fig. 3) of the virtual storage system is lower than a second preset workload threshold (Upper Threshold 322, Fig. 3) and the use status (Capacity 350, Fig. 3) reaching a second set status (Upper Threshold 306, Fig. 3)(“Monitoring the characteristics of the SDS systems may include monitoring the capacity of each SDS system in box 402, monitoring IOPS of each SDS system in box 406 and/or monitoring throughput of each SDS system in box 408 … In box 410, the values of the characteristics are compared to thresholds or threshold levels … the SDS system may adjust capacity in box 412 when any one of the characteristics being monitored is greater than the corresponding upper threshold level” [0048-52] // “Capacity is added when one of the characteristics exceeds its corresponding upper threshold. Other combinations can be considered. For example, capacity may be reduced or added when any two of the characteristics exceed their upper threshold. In another example, one characteristic may be given a higher priority than the other characteristics.” [0039-40] // Fig. 3) – As shown in Fig. 4 and described in ¶¶0048-52, all of used capacity (i.e., “the use status”), IOPS (i.e., “the load of the workload”), and throughput of a storage system may be compared to corresponding thresholds (see Fig. 3) in order to determine when to add capacity to the storage system. In this case, examiner considers the used capacity of a storage system exceeding a predetermined threshold as the used capacity “reaching a second set status”. As detailed in ¶¶0039-40, any combination of monitored characteristics of the storage system can be used to determine when to add storage capacity to the storage system such that when one of the monitored characteristics (e.g., Capacity 350, see Fig. 3) exceeds the corresponding upper threshold but the other monitored characteristics (e.g., IOPS 352 and Throughput 354) do not, capacity is added. In such an embodiment whereby capacity is added based on monitored capacity 350 exceeding upper threshold 306, capacity would exceed the corresponding upper threshold but IOPS would not exceed the corresponding upper threshold (i.e., both “a load of the workload” “is lower than a second present workload threshold” and “the use status reaching a second set status” when capacity is added).
Norbeck, Yang, and Peterson are all considered analogous to the claimed invention because they all relate to the same field of scheduling capacity upgrades for virtual storage systems responsive to real-time monitoring of characteristics including storage capacity and workload of the virtual storage system. Therefore, it would have been obvious for someone of ordinary skill in the art before the effective filing date of the claimed invention to have modified Norbeck and Yang with the teachings of Peterson and realize a virtual storage system upgrade method whereby targeted instants to expand capacity of the virtual storage system are determined according to monitored characteristics including both virtual storage capacities and workloads. Automatically provisioning storage capacity when monitored characteristics exceed predetermined thresholds improves a system’s ability to manage capacity or storage, resulting in more effective use of storage, as disclosed in Peterson ¶0013: “Embodiments of the invention monitor these characteristics and when these characteristics pass certain threshold levels, nodes (and thus capacity) can be added to or removed from the SDS systems … For example, a node may be added to an SDS system when any one or more of the characteristics surpass specified or predetermined thresholds … By automatically provisioning and de-provisioning nodes of SDS systems, the ability to manage capacity or storage is improved and storage is used more effectively.” [0013]
Claims 6 and 19 are rejected under 35 U.S.C. 103 as being unpatentable over Norbeck further in view of Yang, Peterson, and Paralikar (US 20210182046 A1)(cited by examiner in previous action)(hereafter referred to as Paralikar).
Regarding Claim 6,
The same motivation to combine provided in Claim 1 is equally applicable to Claim 6. The combined teachings of Norbeck, Yang, and Peterson disclose the following limitations:
The method according to claim 5 (see Claim 5 limitation mappings above), wherein the historic operation condition (Norbeck, “past usage” [Col. 22, 10-15th lines]) comprises a historic workload (Norbeck, “Storage Utilization”, Fig. 5B) corresponding to each historic instant during historic operation of the virtual storage system (Norbeck, Fig. 5B // “As shown in FIG. 5B, the central IT user ordered the small business storage utilization plan that includes one small storage array. The graph shown the storage utilization of the one small storage array with respect to time” [Col. 23, 35-40th lines] // step 406, Fig. 4 // Cols. 22+23) – As shown in Norbeck Fig. 5B and detailed in Cols. 22/23, storage utilization with respect to time (i.e., at least “a historic workload corresponding to each historic instant during historic operation”) is maintained as part of “past usage” data / “user report information”--,
The combined teachings of Norbeck, Yang, and Peterson are silent regarding comparing a historic workload, distinct from “the load of the workload”, to a third preset workload threshold in order to determine the at least one targeted instant. Specifically, the combined teachings of Norbeck, Yang, and Peterson do not explicitly disclose the following limitations:
determining at least one targeted historic instant when the historic workload is lower than a third preset workload threshold; and determining the at least one candidate instant based on the historic workload corresponding respectively to the at least one targeted historic instant and the load of the workload
However, Paralikar discloses within the context of using historical workload data to determine times to upgrade a virtual storage system (Server Device 306, Fig. 3) that “performance data from a plurality of time periods” is scored and accordingly used to determine an optimal time to upgrade the virtual storage system.
Paralikar discloses the following limitations:
determining at least one targeted historic instant when the historic workload is lower than a third preset workload threshold; and determining the at least one candidate instant based on the historic workload corresponding respectively to the at least one targeted historic instant and the load of the workload (steps 420, Fig. 4 // “The method 400 can include step 420, selecting a maintenance time based on the scores in the storage array 314. The most optimum “activity time” can be calculated from the predicted values. The “activity time” may be a profile representing the activity of one or more server devices 306a at a particular time … The “activity time” for the server device 306 may result in it being considered “least active” during one or more times … Step 420 can include making selection based on metrics” [0078] // Fig. 4, steps 402-426 // ¶¶0059-79) – As shown in Paralikar Fig. 4 and disclosed in ¶¶0059-79, one or more times when server activity is considered as being “least active” (e.g., as opposed to being “most active”, see ¶0078; i.e., “at least one targeted historic instant when the historic workload is lower than a third preset threshold”) are determined (see step 420) based on “performance data from a plurality of time periods” including processor and memory utilization (i.e., based on “the historic workload” and “the workload”; see steps 402 + 408, Fig. 4); one of which is selected as “the maintenance time” (see step 420) when an upgrade (see step 426) to the server is performed.
Norbeck, Yang, Peterson, and Paralikar are all considered to be analogous to the claimed invention because they all relate to the same field of using historic workload data of storage space within a virtual storage system to determine an optimal time to upgrade the virtual storage system. Therefore, it would have been obvious to someone of ordinary skill in the art before the effective filing date of the claimed invention to have modified the combined teachings of Norbeck, Yang, and Peterson with the teachings of Paralikar and realize a method of determining a targeted instant to upgrade a virtual storage system based in part on a historical instant when a historical workload exceeds a threshold. Doing so would improve scheduling of down time for virtual storage by enabling maintenance to be performed outside of peak operating hours, thereby reducing unnecessary outages for customers, as disclosed in Paralikar ¶0036: “Based on the upgrade mechanisms used and the underlying infrastructure, this upgrade can take an undetermined amount of time. This time window can be known as the maintenance window. The longer the time taken for the upgrade, the more crucial the selection of this time window is since during this time the server device is going to be non-operational for serving user traffic since its undergoing the upgrade. Any time during the peak working hours and this would lead to a lot of established connections getting closed and may result in an outage for the customer as well for this time duration … The present issue solves the issue of finding an optimal maintenance time by using machine learning to determine the best upgrade period for distributed components in customer on-premise infrastructure.” [0036]
Regarding Claim 19,
The same motivation to combine provided in Claim 14 is equally applicable to Claim 19. The combined teachings of Norbeck, Yang, and Peterson disclose the following limitations:
The device according to claim 18 (see Claim 18 limitation mappings above), wherein the historic operation (Norbeck, “past usage” [Col. 22, 10-15th lines]) comprises a historic workload (Norbeck, “Storage Utilization”, Fig. 5B) corresponding to each historic instant during historic operation of the virtual storage system (Norbeck, Fig. 5B // “As shown in FIG. 5B, the central IT user ordered the small business storage utilization plan that includes one small storage array. The graph shown the storage utilization of the one small storage array with respect to time” [Col. 23, 35-40th lines] // step 406, Fig. 4 // Cols. 22+23) – As shown in Norbeck Fig. 5B and detailed in Cols. 22/23, storage utilization with respect to time (i.e., at least “a historic workload corresponding to each historic instant during historic operation”) is maintained as part of “past usage” data / “user report information”--,
The combined teachings of Norbeck, Yang, and Peterson are silent regarding comparing a historic workload, distinct from “the load of the workload”, to a third preset workload threshold in order to determine the at least one targeted instant. Specifically, the combined teachings of Norbeck, Yang, and Peterson do not explicitly disclose the following limitations:
determining at least one targeted historic instant when the historic workload is lower than a third preset workload threshold; and determining the at least one candidate instant based on the historic workload corresponding respectively to the at least one targeted historic instant and the load of the workload
However, Paralikar discloses within the context of using historical workload data to determine times to upgrade a virtual storage system (Server Device 306, Fig. 3) that “performance data from a plurality of time periods” is scored and accordingly used to determine an optimal time to upgrade the virtual storage system.
Paralikar discloses the following limitations:
determining at least one targeted historic instant when the historic workload is lower than a third preset workload threshold; and determining the at least one candidate instant based on the historic workload corresponding respectively to the at least one targeted historic instant and the workload (steps 420, Fig. 4 // “The method 400 can include step 420, selecting a maintenance time based on the scores in the storage array 314. The most optimum “activity time” can be calculated from the predicted values. The “activity time” may be a profile representing the activity of one or more server devices 306a at a particular time … The “activity time” for the server device 306 may result in it being considered “least active” during one or more times … Step 420 can include making selection based on metrics” [0078] // Fig. 4, steps 402-426 // ¶¶0059-79) – As shown in Paralikar Fig. 4 and disclosed in ¶¶0059-79, one or more times when server activity is considered as being “least active” (e.g., as opposed to being “most active”, see ¶0078; i.e., “at least one targeted historic instant when the historic workload is lower than a third preset threshold”) are determined (see step 420) based on “performance data from a plurality of time periods” including processor and memory utilization (i.e., based on “the historic workload” and “the workload”; see steps 402 + 408, Fig. 4); one of which is selected as “the maintenance time” (see step 420) when an upgrade (see step 426) to the server is performed.
Norbeck, Yang, Peterson, and Paralikar are all considered to be analogous to the claimed invention because they all relate to the same field of using historic workload data of storage space within a virtual storage system to determine an optimal time to upgrade the virtual storage system. Therefore, it would have been obvious to someone of ordinary skill in the art before the effective filing date of the claimed invention to have modified the combined teachings of Norbeck, Yang, and Peterson with the teachings of Paralikar and realize a method of determining a targeted instant to upgrade a virtual storage system based in part on a historical instant when a historical workload exceeds a threshold. Doing so would improve scheduling of down time for virtual storage by enabling maintenance to be performed outside of peak operating hours, thereby reducing unnecessary outages for customers, as disclosed in Paralikar ¶0036: “Based on the upgrade mechanisms used and the underlying infrastructure, this upgrade can take an undetermined amount of time. This time window can be known as the maintenance window. The longer the time taken for the upgrade, the more crucial the selection of this time window is since during this time the server device is going to be non-operational for serving user traffic since its undergoing the upgrade. Any time during the peak working hours and this would lead to a lot of established connections getting closed and may result in an outage for the customer as well for this time duration … The present issue solves the issue of finding an optimal maintenance time by using machine learning to determine the best upgrade period for distributed components in customer on-premise infrastructure.” [0036]
Claims 10 and 11 are rejected under 35 U.S.C. 103 as being unpatentable over Norbeck further in view of Yang, Peterson, and Satoyama et al. (US 20120023305 A1)(cited by examiner in previous action)(hereafter referred to as Satoyama).
Regarding Claim 10,
The same motivation to combine provided in Claim 1 is equally applicable to Claim 10. The combined teachings of Norbeck, Yang, and Peterson disclose the following limitations:
The method according to claim 1 (see Claim 1 limitation mappings above),
The combined teachings of Norbeck, Yang, and Peterson do not explicitly disclose using configuration information to determine whether an upgrade requirement is satisfied. Specifically, the combined teachings of Norbeck, Yang, and Peterson do not explicitly disclose the following limitations:
acquiring configuration information of the virtual storage system
determining whether the configuration information satisfies an upgrade requirement; and upgrading the virtual storage system in response to the configuration information satisfying the upgrade requirement.
However, Satoyama discloses within the context of expanding capacity for storage pools (Pool 60, Fig. 4) within a virtual storage system (Storage Apparatus 30, Fig. 4) that prior to expanding capacity of a virtual volume, an “automatic capacity expansion program” (Fig. 22) uses configuration information to determine if sufficient capacity exists to expand the virtual volume.
Satoyama discloses the following limitations:
acquiring configuration information of the virtual storage system (“the program reads the record of the used capacity of the capacity virtualization pool” [0365])
determining whether the configuration information satisfies an upgrade requirement (Fig. 22, step S24240 // “At S24220, the program determines whether sufficient pool volumes exist in the system capacity pool or not” [0365]) – In this case, determining whether sufficient capacity exists to expand a storage pool, as shown in Satoyama Fig. 22, is considered as determining whether an “upgrade requirement” is met using “configuration information” (e.g., a “used capacity” of the pool; see also Fig. 22 step 24210 / Fig. 15) –; and
upgrading the virtual storage system in response to the configuration information satisfying the upgrade requirement (step 24250, Fig. 22 // “If affirming the determination, at S24250, the program performs the capacity extension processing” [0365]) – As shown in Fig. 22, during step 24250, a storage pool capacity is expanded (i.e., virtual storage is “upgrad[ed]”) when sufficient available capacity exists.
Norbeck, Yang, Peterson, and Satoyama are all considered to be analogous to the claimed invention because they all relate to the same field of expanding the capacity of virtual storage based in part on acquired configuration information. Therefore, it would have been obvious to someone of ordinary skill in the art before the effective filing date of the claimed invention to have modified the combined teachings of Norbeck, Yang, and Peterson with the teachings of Satoyama and realize a method of upgrading a virtual storage system in response to configuration information satisfying an upgrade requirement. Doing so would enable dynamic allocation of virtual storage responsive a virtual storage space running out of capacity, improving performance over conventional systems by providing quicker response to changes in storage capacity, as disclosed in Satoyama ¶¶0016-17: “In the above-mentioned conventional technologies, if there is a case where there is no more free capacity in the pool … the system administrator or the system user, at each time, had to perform the setting control processing of the computer system configuration such as defining pool volumes … As a result, the conventional computer system had the problem of not being able to respond to the change of the pool capacity immediately. Therefore, an object of this invention is to provide … dynamically assigning the storage capacity from pool volumes to the access target in the host system, can immediately respond to the change of the status of the pool comprising the pool volumes” [0016-17].
Regarding Claim 11,
The same motivation to combine provided in Claim 10 is equally applicable to Claim 11. The combined teachings of Norbeck, Yang, Peterson, and Satoyama disclose the following limitations:
The method according to claim 10, further comprising: providing a prompt message (Satoyama, “notifies the user” [0366]) to increase a permitted capacity of the virtual storage system in response to the configuration information not satisfying the upgrade requirement (Satoyama, step 24260 Fig. 22 // “If negating the determination at S24260, the program determines that the capacity extension of the capacity virtualization pool is not possible … Note that, if the capacity of the system capacity pool is insufficient, it may also be permitted that … the management device 20 notifies the user or administrator of the ID of the system capacity pool which runs out of capacity” [0365-366])
Response to Arguments
The previous 35 U.S.C. 101 rejection of Claim 20 is withdrawn. Examiner notes that the limitation “upgrading the storage capacity of the virtual storage system at the targeted instant” as amended appears to integrate the judicial exception into practical application and/or amounts to significantly more. See also Prosecution History.
The previous 35 U.S.C. 112(a) rejections of Claims 1, 3-14, and 16-20 are withdrawn.
The previous objection to the Specification is withdrawn.
The previous objection to Claim 17 is withdrawn.
The previous 35 U.S.C. 112(b) rejections of Claims 5-7 and 17-19 are maintained. Examiner notes that the instant amendments do not overcome the outstanding 35 U.S.C. 112(b) issues. In addition, the amendments introduce similar 112(b) rejections in additional dependent claims. See 35 U.S.C. 112(b) rejection of Claim 3 above, which provides a more detailed explanation of the outstanding 35 U.S.C. 112(b) rejections.
Applicant’s arguments with respect to claims 1, 3-14 and 16-20 have been considered but are moot in view of the newly-identified Yang reference because the new ground of rejection does not rely on any reference applied in the prior rejection of record for any teaching or matter specifically challenged in the argument.
Conclusion
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.
Any inquiry concerning this communication or earlier communications from the examiner should be directed to JULIAN SCOTT MENDEL whose telephone number is (703)756-1608. The examiner can normally be reached M-F 10am - 4pm 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, Rocío del Mar Pérez-Vélez can be reached at 571-270-5935. 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.
/J.S.M./Examiner, Art Unit 2133
/ROCIO DEL MAR PEREZ-VELEZ/Supervisory Patent Examiner, Art Unit 2133