DETAILED ACTION
Notice of Pre-AIA or AIA Status
The present application is being examined under the pre-AIA first to invent provisions.
The Examiner acknowledges the applicant's submission of the amendment dated 12/22/25, which has been entered.
1. REJECTIONS BASED ON PRIOR ART
In the event the determination of the status of the application as subject to AIA 35 U.S.C. 102 and 103 (or as subject to pre-AIA 35 U.S.C. 102 and 103) is incorrect, any correction of the statutory basis for the rejection will not be considered a new ground of rejection if the prior art relied upon, and the rationale supporting the rejection, would be the same under either status.
Claim Rejections - 35 USC ' 103
The following is a quotation of pre-AIA 35 U.S.C. 103(a) which forms the basis for all obviousness rejections set forth in this Office action:
(a) A patent may not be obtained though the invention is not identically disclosed or described as set forth in section 102, if the differences between the subject matter sought to be patented and the prior art are such that the subject matter as a whole would have been obvious at the time the invention was made to a person having ordinary skill in the art to which said subject matter pertains. Patentability shall not be negated by the manner in which the invention was made.
Claims 1-20 is/are rejected under pre-AIA 35 U.S.C. 103(a) as being unpatentable over Kottomtharayil (US 20070143497) in view of Turner (US 20050273686).
With respect to claim 1, the Kottomtharayil reference teaches a method for execution by a storage network comprises:
selecting a plurality of memory elements for utilization analysis, wherein each memory element of the plurality of memory elements is associated with a storage unit of a set of storage unit of a set of storage units configured to store a data object (paragraph 74, where data migrated from primary volume 191 may be sent to secondary storage volume 240 via HBA 1 based certain on load balancing criteria that may be associated with storage policies stored in database 201; and paragraph 66, where each of the individual HBA devices 135a, 135b, 135c may distribute the data load to storage-devices 115a, 115b, and 115c via their respective redundant communication links. For example, HBA device 135a may distribute data between storage devices 115a, 115b, and 115c over communication links 116a, 117a, and 118a, respectively, according to alternate path definitions established in a storage policy; and paragraph 55, where there is an example of a 100 MB file distributed over three storage devices [analogous to the ‘data object’ as claimed]) and wherein at least some of storage units of the set of storage units are located in geographically separate locations; (paragraph 36, where storage operation cells may also provide one or more integrated management consoles for users or system processes to interface with in order to perform certain storage operations on electronic data as further described herein. Such integrated management consoles may be displayed at a central control facility or several similar consoles distributed throughout multiple network locations to provide global or geographically specific network data storage information; and paragraph 18, where a backup could be on-site or off-site)
determining, based on the utilization analysis, a relative utilization for each memory element of the plurality of memory elements; (paragraph 81, where if storage resources within a storage operation system may have reached or may be approaching their storage capacities, load balancing may be achieved by parsing the storage data into smaller data units for the purpose of distributing the data units across different storage device)
in response to the relative utilization for each memory element, determining whether to migrate one or more data slices of the one or more sets of encoded data slices from a first memory element of the plurality of memory elements to a second memory element of the set of memory elements, (paragraph 81, where at step 402, the storage data associated with the client computer may be parsed into smaller data units based on the storage data size. For example, if the storage data on which storage operations are to be performed is relative large or exceeds a given data size threshold, the data may be parsed into data units) wherein the first memory element and the second memory element are each associated with a different storage unit of the plurality of storage units; (paragraph 74, where data migrated from primary volume 191 may be sent to secondary storage volume 240 via HBA 1 based certain on load balancing criteria that may be associated with storage policies stored in database 201; and paragraph 66, where each of the individual HBA devices 135a, 135b, 135c may distribute the data load to storage-devices 115a, 115b, and 115c via their respective redundant communication links. For example, HBA device 135a may distribute data between storage devices 115a, 115b, and 115c over communication links 116a, 117a, and 118a, respectively, according to alternate path definitions established in a storage policy)
in response to a determination to migrate one or more encoded data slices from the first memory element to the second memory element, providing a monitoring structure to track migration of the one or more data slices; (paragraph 43, where storage manager 100 may include a jobs agent 120 that monitors the status of some or all storage operations previously performed, currently being performed, or scheduled to be performed by storage operation cell 50; and paragraph 74, where data migrated from primary volume 191 may be sent to secondary storage volume 240 via HBA 1 based certain on load balancing criteria that may be associated with storage policies stored in database 201. According to this criteria, if storage volume 211 does not possess sufficient storage resources, HBA 1 may be directed by media agent 206 to migrate the data from primary volume 191 to alternative secondary volume 240)
migrating the one or more data slices from the first memory element to the second memory element; (paragraph 74, where data migrated from primary volume 191 may be sent to secondary storage volume 240 via HBA 1 based certain on load balancing criteria that may be associated with storage policies stored in database 201. According to this criteria, if storage volume 211 does not possess sufficient storage resources, HBA 1 may be directed by media agent 206 to migrate the data from primary volume 191 to alternative secondary volume 240) and
updating metadata associated with the one or more data slices. (paragraph 81, where once the data units have been created, metadata is created and added to each of the data units, where the metadata may provide the necessary information for retrieving the data units from multiple storage devices and reconstructing the data units back to their original format)
However, the Kottomtharayil reference does not explicitly teach wherein a data object is dispersed error encoded to produce one or more sets of encoded data slices; and wherein the data slices are encoded data slices.
The Turner reference teaches it is conventional to have wherein a data object is dispersed error encoded to produce one or more sets of encoded data slices; and wherein the data slices are encoded data slices. (abstract, where data is stored using multiple selected network nodes in a network based on encoding of the data into multiple distinct encoded data units according to a prescribed encoding operation; and paragraph 39, where the Reed Solomon encoding executed by the encoder 30 requires a minimum number of encoded data units (N=4) in order to recover the unencoded data unit 12)
It would have been obvious to a person of ordinary skill in the art at time of the claimed invention to modify the Kottomtharayil reference to have wherein a data object is dispersed error encoded to produce one or more sets of encoded data slices; and wherein the data slices are encoded data slices, as taught by the Turner reference.
The suggestion/motivation for doing so would have been to allow data to be distributed among different network nodes in an efficient and secure manner. (Turner, paragraph 11)
Therefore it would have been obvious to combine the Kottomtharayil and Turner references for the benefits shown above to obtain the invention as specified in the claim.
With respect to claim 2, the combination of the Kottomtharayil and Turner references teaches the method of claim 1, further comprising: validating the one or more encoded data slices after migration from the first memory element to the second memory element. (Kottomtharayil, paragraph 81, where metadata is created and added to each of the data units, where the metadata may provide the necessary information for retrieving the data units from multiple storage devices and reconstructing the data units back to their original format)
With respect to claim 3, the combination of the Kottomtharayil and Turner references teaches the method of claim 1, wherein the plurality of memory elements are selected from a group comprising: 1) a solid state memory device; 2) a storage unit; 3) a storage network memory element; 4) a group of memory devices; and 5) hard drive memory. (Turner, paragraph 6, where there are servers having a Redundant Array of Inexpensive Disks (RAID), also referred to as RAID servers)
With respect to claim 4, the combination of the Kottomtharayil and Turner references teaches the method of claim 1, wherein the first memory element and the second memory element are in a same storage unit. (Kottomtharayil, paragraph 18, where a backup could be on-site or off-site)
With respect to claim 5, the combination of the Kottomtharayil and Turner references teaches the method of claim 1, wherein the first memory element and the second memory element are in different storage units. (Kottomtharayil, paragraph 18, where a backup could be on-site or off-site)
With respect to claim 6, the combination of the Kottomtharayil and Turner references teaches the method of claim 1, wherein the determining whether to migrate the one or more encoded data slices is based on at least one of an impact on ongoing operations, an amount of data currently stored on each memory element, an estimated number of encoded data slices to be migrated, an estimated time for completion of migrating the one or more encoded data slices, an estimated performance degradation of the storage network due to the migration, or a storage tier for the first memory element and the second memory element. (Kottomtharayil, paragraph 74, where data migrated from primary volume 191 may be sent to secondary storage volume 240 via HBA 1 based certain on load balancing criteria that may be associated with storage policies stored in database 201. According to this criteria, if storage volume 211 does not possess sufficient storage resources, HBA 1 may be directed by media agent 206 to migrate the data from primary volume 191 to alternative secondary volume 240)
With respect to claim 7, the combination of the Kottomtharayil and Turner references teaches the method of claim 1, wherein the determining whether to migrate the one or more encoded data slices is based on an impact to the storage network, wherein the impact is at least one of: a monetary cost of migrating the one or more encoded data slices, a time required to migrate the one or more encoded data slices, an estimated downtime required for migrating the one or more encoded data slices, an estimated network bandwidth utilization from migrating the one or more encoded data slices, or an estimated performance degradation from migrating the one or more encoded data slices. (Kottomtharayil, paragraph 77, where the size of the data may be compared to certain preset values established in a storage policy or in a media management component to determine resources and/or time required to transfer the data)
With respect to claim 8, the combination of the Kottomtharayil and Turner references teaches the method of claim 1, further comprising: in response to a determination not to migrate the one or more encoded data slices from the first memory element to the second memory element, determining to delay the migration to an off-peak time period, wherein an off-peak time period is a time period during which storage network traffic is statistically lower than another time period. (Kottomtharayil, paragraph 78, where network operating conditions may include information regarding network congestion, workload or queue size and available capacity on various communication links that connect client computers to various storage devices within the storage operation system)
With respect to claim 9, the combination of the Kottomtharayil and Turner references teaches the method of claim 1, wherein the determining whether to migrate the one or more encoded data slices is based on at least one of: an aggregate number of encoded data slices stored in the plurality of memory elements, an estimated number of encoded data slices subject to migration, a cost difference between the first memory element and the second element, or a cost difference between a storage unit associated with the first memory element and a cost difference between a storage unit associated with the second element. (Kottomtharayil, paragraph 74, where data migrated from primary volume 191 may be sent to secondary storage volume 240 via HBA 1 based certain on load balancing criteria that may be associated with storage policies stored in database 201. According to this criteria, if storage volume 211 does not possess sufficient storage resources, HBA 1 may be directed by media agent 206 to migrate the data from primary volume 191 to alternative secondary volume 240)
With respect to claim 10, the combination of the Kottomtharayil and Turner references teaches the method of claim 1, wherein the selecting a plurality of memory elements for utilization analysis is based on at least one of an error message, a command, a predetermination, an automated instruction, a list or a schedule. (Kottomtharayil, paragraph 38, where a schedule policy may specify when to perform storage operations and how often and may also specify performing certain storage operations on sub-clients of data and how to treat those sub-clients)
With respect to claim 11, the combination of the Kottomtharayil and Turner references teaches the method of claim 1, wherein selecting a plurality of memory elements for utilization analysis is based on a predetermined schedule, wherein the predetermined schedule is a schedule adapted to chronologically select substantially all memory elements of the set over a finite time period. (Kottomtharayil, paragraph 38, where a schedule policy may specify when to perform storage operations and how often and may also specify performing certain storage operations on sub-clients of data and how to treat those sub-clients)
Claims 12-19 are the computing device implementation of claims 1-11, and rejected under the same rationale as shown above. The Examiner notes the Kottomtharayil reference teaches the “one or more network interfaces; memory including operational instructions; and a processing module operably coupled to the memory and the one or more network interfaces” as shown in fig. 1a and their corresponding sections.
Claim 20 is system implementation of claims 1-11, and rejected under the same rationale as shown above. The Examiner notes the Kottomtharayil reference teaches “one or more modules of one or more processing devices; and a plurality of storage network memory elements configured to store one or more data objects” as shown in fig. 1a and their corresponding sections.
2. ARGUMENTS CONCERNING PRIOR ART REJECTIONS
Rejections - USC 102/103
Applicant's arguments with respect to claims 1-20 (see pages 9-14 of the remarks) have been considered, and not persuasive. The Applicant’s argues “the prior art fails to discloses a memory utilization method for 1) selecting memory elements already storing a data object for utilization analysis; 2) migrating, based on the utilization analysis, encoded data slices from a memory element of one storage unit to a memory element of another storage unit”. The Kottomtharayil reference teaches (paragraph 74) data being migrated from primary volume 191 may be sent to secondary storage volume 240 via HBA 1 based certain on load balancing criteria that may be associated with storage policies stored in database 201; and further teaches (paragraph 66) each of the individual HBA devices 135a, 135b, 135c may distribute the data load to storage-devices 115a, 115b, and 115c via their respective redundant communication links; and HBA device 135a may distribute data between storage devices 115a, 115b, and 115c over communication links 116a, 117a, and 118a, respectively, according to alternate path definitions established in a storage policy. Lastly, Kottomtharayil (paragraph 55) shows an example of the ‘data object’ as claimed, where there is an example of a 100 MB file distributed over three storage devices. Thus, based on the citations above, the Kottomtharayil reference teaches the migration of slices of data object from one storage device to another based on load balancing criteria (analogous to the ‘utilization analysis’ as claimed) associated with the storage policies of databases stored within the storage devices (analogous to the ‘selecting memory elements’ as claimed). The Examiner further notes Turner reference (abstract) has been included to show that where data is stored using multiple selected network nodes in a network based on encoding of the data into multiple distinct encoded data units according to a prescribed encoding operation. Therefore, Turner teaches a data object is “a dispersed error encoded to produce one or more sets of encoded data slices; and wherein the data slices are encoded data slices” as claimed as shown in the rejections above.
Further, based on the reasoning above, it appears that the Applicant’s arguments are attacking references individually. In response to applicant's arguments against the references individually, one cannot show nonobviousness by attacking references individually where the rejections are based on combinations of references. See In re Keller, 642 F.2d 413, 208 USPQ 871 (CCPA 1981); In re Merck & Co., 800 F.2d 1091, 231 USPQ 375 (Fed. Cir. 1986). The Examiner contends the combination of the Kottomtharayil and Turner references teaches the limitations above for the reasons set forth above, and further teaches the claimed invention as broadly and instantly claimed as shown in the rejections above.
3. CLOSING COMMENTS
Conclusion
THIS ACTION IS MADE FINAL. Applicant is reminded of the extension of time policy as set forth in 37 CFR 1.136(a).
A shortened statutory period for reply to this final action is set to expire THREE MONTHS from the mailing date of this action. In the event a first reply is filed within TWO MONTHS of the mailing date of this final action and the advisory action is not mailed until after the end of the THREE-MONTH shortened statutory period, then the shortened statutory period will expire on the date the advisory action is mailed, and any nonprovisional extension fee (37 CFR 1.17(a)) pursuant to 37 CFR 1.136(a) will be calculated from the mailing date of the advisory action. In no event, however, will the statutory period for reply expire later than SIX MONTHS from the mailing date of this final action.
Any inquiry concerning this communication or earlier communications from the examiner should be directed to PRASITH THAMMAVONG whose telephone number is (571) 270-1040. The examiner can normally be reached Monday - Friday 12-8 PM EST.
Examiner interviews are available via telephone, in-person, and video conferencing using a USPTO supplied web-based collaboration tool. To schedule an interview, applicant is encouraged to use the USPTO Automated Interview Request (AIR) at http://www.uspto.gov/interviewpractice.
If attempts to reach the examiner by telephone are unsuccessful, the examiner’s supervisor, Arpan Savla can be reached on (571) 272-1077. The fax phone number for the organization where this application or proceeding is assigned is 571-273-8300.
Information regarding the status of published or unpublished applications may be obtained from Patent Center. Unpublished application information in Patent Center is available to registered users. To file and manage patent submissions in Patent Center, visit: https://patentcenter.uspto.gov. Visit https://www.uspto.gov/patents/apply/patent-center for more information about Patent Center and https://www.uspto.gov/patents/docx for information about filing in DOCX format. For additional questions, contact the Electronic Business Center (EBC) at 866-217-9197 (toll-free). If you would like assistance from a USPTO Customer Service Representative, call 800-786-9199 (IN USA OR CANADA) or 571-272-1000.
/PRASITH THAMMAVONG/
Primary Examiner, Art Unit 2137