DETAILED ACTION
The present application, filed on or after March 16, 2013, is being examined under the first inventor to file provisions of the AIA .
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.
This Office action is in response to the Preliminary Amendment dated 5/22/2025.
Claims 1, 3-4, 7, 9-10, 13, and 15-16are amended.
Claims 19-20 are added.
Claims 1-20 are pending.
Claims 1, 6-8, 12-14, and 18-20 are rejected.
The text of those sections of Title 35, U.S. Code not included in this action can be found in a prior Office action.
Claim Rejections - 35 USC § 112
The Examiner thanks Applicant for amending the claims to cure the rejections of claims 1-18 under 35 U.S.C. §112(b) made in the non-final Office action dated 6/3/2026 and therefore respectfully withdraws the rejections of claims 1-18 under 35 U.S.C. §112(b) made therein.
Claim Rejections - 35 USC § 103
Claims 1, 6-8, 12-14, and 18-20 are rejected under 35 U.S.C. 103 as being unpatentable over the attached machine translation of CN109299190A (“Xie”) in view of the attached machine translation of CN102541470A (“Zhang”) and further in view of USPGPUB 2016/0098455 (“Curtin”).
As per claim 1, Xie substantially teaches an object storage service-based storage method, wherein the method is applied to an object storage server (Xie, page 1, section “Summary of the invention,” paragraphs 1-4), and the method comprises:
an object storage server; obtaining an object, wherein the object is to be stored in a bucket, and wherein the bucket comprises a plurality of logical partitions; selecting a target logical partition of the bucket from the plurality of logical partitions of the bucket based on a name string of the object; and storing the object in the target logical partition of the bucket: (Xie, page 1, section “Summary of the invention,” paragraph 1, to page 2, paragraph beginning with “Optionally, in another possible implementation manner of the application, the number of initial partitions of the distributed storage system…”, where the system of Xie comprises a method for processing metadata of an object in a distribute storage system that includes buckets for storage of objects within the distributed storage system. The Examiner notes that a distributed storage system that stores objects within buckets by definition includes at least one object storage server to manage storage of objects within buckets of the distributed storage system. The system of Xie stores objects within buckets in accordance with requests based on a name of an object to be stored and a name of a bucket into which the object is to be stored. Each bucket of Xie comprises sub-buckets (i.e., target logical partitions) into which objects may be stored. This means that a bucket and associated sub-bucket for storage of an object to be stored is selected based on a name string of the object. Xie therefore substantially teaches an object storage server; obtaining an object, wherein the object is to be stored in a bucket, and wherein the bucket comprises a plurality of logical partitions; selecting a target logical partition of the bucket from the plurality of logical partitions of the bucket based on a name string of the object; and storing the object in the target logical partition of the bucket).
Xie does not appear to explicitly teach the other limitations of this claim beyond those taught above; however, in an analogous art, Zhang teaches data object processing method and device.
As per claim 1, Zhang particularly teaches:
a configuration parameter, wherein the configuration parameter comprises a target distribution manner, and the target distribution manner is selected from a plurality of distribution manners: (Zhang, page 1, section “Summary of the invention,” paragraph 1, to page 2, paragraph beginning with “The method and device for processing data objects according to the embodiments of the present invention...”, where the system of Zhang may select a manner of distributing logical volumes within a storage system that maximizes utilization of resources in the storage system. The Examiner notes that utilization of resources in a storage system is a configuration parameter of the storage system. The Examiner further notes that selecting a manner of distributing logical volumes in order to maximize utilization of resources of the storage system implies that multiple possible manners of distributing logical volumes are considered in order to choose a manner that maximizes utilization of resources of the storage system. Zhang therefore particularly teaches a configuration parameter, wherein the configuration parameter comprises a target distribution manner, and the target distribution manner is selected from a plurality of distribution manners).
It would have been obvious to a person having ordinary skill in the art, having the teachings of Zhang and Xie before them before the instant application was effectively filed, to modify the system of Xie to include the principles of Zhang of maximizing storage system resource utilization.
The modification would have been obvious because a person having ordinary skill in the art would be motivated to increase system performance and resource utilization by implementing techniques that solve defects in prior art solutions by ensuring that storage resources and data objects in a storage system are distributed in a manner that causes resources in the storage system to be fully utilized (Zhang, page 1, section “Background technique,” paragraph 3, and section “Summary of the invention,” paragraph 1).
Neither Xie nor Zhang appears to explicitly teach the other limitations of this claim beyond those taught above; however, in an analogous art, Curtin teaches stream-based object storage solution for real-time applications.
As per claim 1, Curtin particularly teaches:
the target distribution manner is selected from a plurality of distribution manners based on a distribution characteristic of the object: (Curtin, Abstract; FIG. 3; FIG. 4; FIG. 5; and paragraphs 0054-0069, where the system of Curtin determines how to stream (i.e., distribute) a data object based on historical characteristics of the data object to be streamed. When the data object is deemed to be too large to stream, the system of Curtin determines to segment the data object into substreams instead of streaming the data object as a single stream. In other words, of a plurality of choices (i.e., segmented or not), the data object is determined to be streamed. Curtin therefore particularly teaches the target distribution manner is selected from a plurality of distribution manners based on a distribution characteristic of the object).
It would have been obvious to a person having ordinary skill in the art, having the teachings of Curtin, Zhang, and Xie before them before the instant application was effectively filed, to modify the combination of Zhang with Xie to include the principles of Curtin of determining how to stream a data object based on historical decisions regarding streaming of the data object.
The modification would have been obvious because a person having ordinary skill in the art would be motivated to increase system performance and reliability by implementing techniques to optimize management of data objects and streams in order by providing efficient allocation of storage resources to a variety of client applications (Curtin, paragraph 0036).
As per claim 6, the rejection of claim 1 is incorporated, and Curtin further particularly teaches wherein before obtaining the object, the method further comprises:
receiving the configuration parameter from an object storage client; and creating the bucket based on the configuration parameter: (Curtin, Abstract; FIG. 3; FIG. 4; FIG. 5; and paragraphs 0054-0069, where the system of Curtin determines how to stream (i.e., distribute) a data object based on historical characteristics of the data object to be streamed. When the data object is deemed to be too large to stream, the system of Curtin determines to segment the data object into substreams instead of streaming the data object as a single stream. In other words, of a plurality of choices (i.e., segmented or not), the data object is determined to be streamed. Curtin therefore particularly teaches receiving the configuration parameter from an object storage client; and creating the bucket based on the configuration parameter).
As per claim 7, Xie substantially teaches a computing device cluster, comprising at least one computing device, wherein each computing device comprises at least one processor and at least one memory coupled to the at least one processor and storing programming instructions for execution by the at least one processor to enable the computing device cluster to (Xie, page 1, section “Summary of the invention,” paragraphs 1-4):
obtain an object, wherein the object is to be stored in a bucket, and wherein the bucket comprises a plurality of logical partitions; select a target logical partition of the bucket from the plurality of logical partitions of the bucket based on a name string of the object; and store the object in the target logical partition of the bucket: (Xie, page 1, section “Summary of the invention,” paragraph 1, to page 2, paragraph beginning with “Optionally, in another possible implementation manner of the application, the number of initial partitions of the distributed storage system…”, where the system of Xie comprises a method for processing metadata of an object in a distribute storage system that includes buckets for storage of objects within the distributed storage system. The Examiner notes that a distributed storage system that stores objects within buckets by definition includes at least one object storage server to manage storage of objects within buckets of the distributed storage system. The system of Xie stores objects within buckets in accordance with requests based on a name of an object to be stored and a name of a bucket into which the object is to be stored. Each bucket of Xie comprises sub-buckets (i.e., target logical partitions) into which objects may be stored. This means that a bucket and associated sub-bucket for storage of an object to be stored is selected based on a name string of the object. Xie therefore substantially teaches obtain an object, wherein the object is to be stored in a bucket, and wherein the bucket comprises a plurality of logical partitions; select a target logical partition of the bucket from the plurality of logical partitions of the bucket based on a name string of the object; and store the object in the target logical partition of the bucket).
Xie does not appear to explicitly teach the other limitations of this claim beyond those taught above; however, in an analogous art, Zhang teaches data object processing method and device.
As per claim 7, Zhang particularly teaches:
a configuration parameter, wherein the configuration parameter comprises a target distribution manner, and the target distribution manner is selected from a plurality of distribution manners: (Zhang, page 1, section “Summary of the invention,” paragraph 1, to page 2, paragraph beginning with “The method and device for processing data objects according to the embodiments of the present invention...”, where the system of Zhang may select a manner of distributing logical volumes within a storage system that maximizes utilization of resources in the storage system. The Examiner notes that utilization of resources in a storage system is a configuration parameter of the storage system. The Examiner further notes that selecting a manner of distributing logical volumes in order to maximize utilization of resources of the storage system implies that multiple possible manners of distributing logical volumes are considered in order to choose a manner that maximizes utilization of resources of the storage system. Zhang therefore particularly teaches a configuration parameter, wherein the configuration parameter comprises a target distribution manner, and the target distribution manner is selected from a plurality of distribution manners).
It would have been obvious to a person having ordinary skill in the art, having the teachings of Zhang and Xie before them before the instant application was effectively filed, to modify the system of Xie to include the principles of Zhang of maximizing storage system resource utilization.
The modification would have been obvious because a person having ordinary skill in the art would be motivated to increase system performance and resource utilization by implementing techniques that solve defects in prior art solutions by ensuring that storage resources and data objects in a storage system are distributed in a manner that causes resources in the storage system to be fully utilized (Zhang, page 1, section “Background technique,” paragraph 3, and section “Summary of the invention,” paragraph 1).
Neither Xie nor Zhang appears to explicitly teach the other limitations of this claim beyond those taught above; however, in an analogous art, Curtin teaches stream-based object storage solution for real-time applications.
As per claim 7, Curtin particularly teaches:
the target distribution manner is selected from a plurality of distribution manners based on a distribution characteristic of the object: (Curtin, Abstract; FIG. 3; FIG. 4; FIG. 5; and paragraphs 0054-0069, where the system of Curtin determines how to stream (i.e., distribute) a data object based on historical characteristics of the data object to be streamed. When the data object is deemed to be too large to stream, the system of Curtin determines to segment the data object into substreams instead of streaming the data object as a single stream. In other words, of a plurality of choices (i.e., segmented or not), the data object is determined to be streamed. Curtin therefore particularly teaches the target distribution manner is selected from a plurality of distribution manners based on a distribution characteristic of the object).
It would have been obvious to a person having ordinary skill in the art, having the teachings of Curtin, Zhang, and Xie before them before the instant application was effectively filed, to modify the combination of Zhang with Xie to include the principles of Curtin of determining how to stream a data object based on historical decisions regarding streaming of the data object.
The modification would have been obvious because a person having ordinary skill in the art would be motivated to increase system performance and reliability by implementing techniques to optimize management of data objects and streams in order by providing efficient allocation of storage resources to a variety of client applications (Curtin, paragraph 0036).
As per claim 8, the rejection of claim 7 is incorporated, and Curtin further particularly teaches:
wherein the plurality of distribution manners comprise a sequential distribution manner and a discrete distribution manner: (Curtin, Abstract; FIG. 3; FIG. 4; FIG. 5; and paragraphs 0054-0069, where the system of Curtin determines how to stream (i.e., distribute) a data object based on historical characteristics of the data object to be streamed. When the data object is deemed to be too large to stream, the system of Curtin determines to segment the data object into substreams instead of streaming the data object as a single stream. In other words, of a plurality of choices (i.e., segmented or not), the data object is determined to be streamed. The Examiner notes that when the data object is streamed in a segmented manner, the data object is streamed in discrete segments; conversely, when the data object is streamed as a single segment, the single segment is streamed in a sequential manner. Curtin therefore particularly teaches wherein the plurality of distribution manners comprise a sequential distribution manner and a discrete distribution manner).
As per claim 12, the rejection of claim 7 is incorporated, wherein before obtaining the object, the programming instructions are for execution by the at least one processor to enable computing device cluster to:
receive the configuration parameter from an object storage client; and create the bucket based on the configuration parameter: (Curtin, Abstract; FIG. 3; FIG. 4; FIG. 5; and paragraphs 0054-0069, where the system of Curtin determines how to stream (i.e., distribute) a data object based on historical characteristics of the data object to be streamed. When the data object is deemed to be too large to stream, the system of Curtin determines to segment the data object into substreams instead of streaming the data object as a single stream. In other words, of a plurality of choices (i.e., segmented or not), the data object is determined to be streamed. Curtin therefore particularly teaches receive the configuration parameter from an object storage client; and create the bucket based on the configuration parameter).
As per claim 13, Xie substantially teaches a non-transitory computer program product comprising instructions, wherein when the instructions are run by a computing device cluster (Xie, page 1, section “Summary of the invention,” paragraphs 1-4), the computing device cluster is enabled to perform operations comprising:
obtaining an object, wherein the object is to be stored in a bucket, and wherein the bucket comprises a plurality of logical partitions; selecting a target logical partition of the bucket from the plurality of logical partitions of the bucket based on a name string of the object; and storing the object in the target logical partition of the bucket: (Xie, page 1, section “Summary of the invention,” paragraph 1, to page 2, paragraph beginning with “Optionally, in another possible implementation manner of the application, the number of initial partitions of the distributed storage system…”, where the system of Xie comprises a method for processing metadata of an object in a distribute storage system that includes buckets for storage of objects within the distributed storage system. The Examiner notes that a distributed storage system that stores objects within buckets by definition includes at least one object storage server to manage storage of objects within buckets of the distributed storage system. The system of Xie stores objects within buckets in accordance with requests based on a name of an object to be stored and a name of a bucket into which the object is to be stored. Each bucket of Xie comprises sub-buckets (i.e., target logical partitions) into which objects may be stored. This means that a bucket and associated sub-bucket for storage of an object to be stored is selected based on a name string of the object. Xie therefore substantially teaches obtaining an object, wherein the object is to be stored in a bucket, and wherein the bucket comprises a plurality of logical partitions; selecting a target logical partition of the bucket from the plurality of logical partitions of the bucket based on a name string of the object; and storing the object in the target logical partition of the bucket).
Xie does not appear to explicitly teach the other limitations of this claim beyond those taught above; however, in an analogous art, Zhang teaches data object processing method and device.
As per claim 13, Zhang particularly teaches:
a configuration parameter, wherein the configuration parameter comprises a target distribution manner, and the target distribution manner is selected from a plurality of distribution manners: (Zhang, page 1, section “Summary of the invention,” paragraph 1, to page 2, paragraph beginning with “The method and device for processing data objects according to the embodiments of the present invention...”, where the system of Zhang may select a manner of distributing logical volumes within a storage system that maximizes utilization of resources in the storage system. The Examiner notes that utilization of resources in a storage system is a configuration parameter of the storage system. The Examiner further notes that selecting a manner of distributing logical volumes in order to maximize utilization of resources of the storage system implies that multiple possible manners of distributing logical volumes are considered in order to choose a manner that maximizes utilization of resources of the storage system. Zhang therefore particularly teaches a configuration parameter, wherein the configuration parameter comprises a target distribution manner, and the target distribution manner is selected from a plurality of distribution manners).
It would have been obvious to a person having ordinary skill in the art, having the teachings of Zhang and Xie before them before the instant application was effectively filed, to modify the system of Xie to include the principles of Zhang of maximizing storage system resource utilization.
The modification would have been obvious because a person having ordinary skill in the art would be motivated to increase system performance and resource utilization by implementing techniques that solve defects in prior art solutions by ensuring that storage resources and data objects in a storage system are distributed in a manner that causes resources in the storage system to be fully utilized (Zhang, page 1, section “Background technique,” paragraph 3, and section “Summary of the invention,” paragraph 1).
Neither Xie nor Zhang appears to explicitly teach the other limitations of this claim beyond those taught above; however, in an analogous art, Curtin teaches stream-based object storage solution for real-time applications.
As per claim 13, Curtin particularly teaches:
the target distribution manner is selected from a plurality of distribution manners based on a distribution characteristic of the object: (Curtin, Abstract; FIG. 3; FIG. 4; FIG. 5; and paragraphs 0054-0069, where the system of Curtin determines how to stream (i.e., distribute) a data object based on historical characteristics of the data object to be streamed. When the data object is deemed to be too large to stream, the system of Curtin determines to segment the data object into substreams instead of streaming the data object as a single stream. In other words, of a plurality of choices (i.e., segmented or not), the data object is determined to be streamed. Curtin therefore particularly teaches the target distribution manner is selected from a plurality of distribution manners based on a distribution characteristic of the object).
It would have been obvious to a person having ordinary skill in the art, having the teachings of Curtin, Zhang, and Xie before them before the instant application was effectively filed, to modify the combination of Zhang with Xie to include the principles of Curtin of determining how to stream a data object based on historical decisions regarding streaming of the data object.
The modification would have been obvious because a person having ordinary skill in the art would be motivated to increase system performance and reliability by implementing techniques to optimize management of data objects and streams in order by providing efficient allocation of storage resources to a variety of client applications (Curtin, paragraph 0036).
As per claim 14, the rejection of claim 13 is incorporated, and Curtin further particularly teaches:
wherein the plurality of distribution manners comprise a sequential distribution manner and a discrete distribution manner: (Curtin, Abstract; FIG. 3; FIG. 4; FIG. 5; and paragraphs 0054-0069, where the system of Curtin determines how to stream (i.e., distribute) a data object based on historical characteristics of the data object to be streamed. When the data object is deemed to be too large to stream, the system of Curtin determines to segment the data object into substreams instead of streaming the data object as a single stream. In other words, of a plurality of choices (i.e., segmented or not), the data object is determined to be streamed. The Examiner notes that when the data object is streamed in a segmented manner, the data object is streamed in discrete segments; conversely, when the data object is streamed as a single segment, the single segment is streamed in a sequential manner. Curtin therefore particularly teaches wherein the plurality of distribution manners comprise a sequential distribution manner and a discrete distribution manner).
As per claim 18, the rejection of claim 13 is incorporated, and Curtin further particularly teaches wherein before obtaining the object, the operations further comprise:
receiving the configuration parameter from an object storage client; and creating the bucket based on the configuration parameter: (Curtin, Abstract; FIG. 3; FIG. 4; FIG. 5; and paragraphs 0054-0069, where the system of Curtin determines how to stream (i.e., distribute) a data object based on historical characteristics of the data object to be streamed. When the data object is deemed to be too large to stream, the system of Curtin determines to segment the data object into substreams instead of streaming the data object as a single stream. In other words, of a plurality of choices (i.e., segmented or not), the data object is determined to be streamed. Curtin therefore particularly teaches receiving the configuration parameter from an object storage client; and creating the bucket based on the configuration parameter).
As per claim 19, the rejection of claim 1 is incorporated, and Curtin further particularly teaches:
wherein the object is uploaded by a tenant of the object storage server, and the object includes a key, metadata, and data: (Curtin, Abstract; and paragraphs 0045-0046; and claim 7, where the system of Curtin may assign keys to data stored to the system of Curtin by a user (i.e., a tenant of the object storage server). The key is associated with data. The Examiner notes that the key’s association with the data identifies each of a plurality of time ordered items and thus also comprises metadata regarding the plurality of time-ordered items. Curtin therefore particularly teaches wherein the object is uploaded by a tenant of the object storage server, and the object includes a key, metadata, and data).
As per claim 20, the rejection of claim 1 is incorporated, and Curtin further substantially teaches:
wherein the target distribution manner is selected by a tenant of the object storage server based on the distribution characteristic of the object: (Curtin, Abstract; FIG. 3; FIG. 4; FIG. 5; and paragraphs 0054-0069, where the system of Curtin determines how to stream (i.e., distribute) a data object based on historical characteristics of the data object to be streamed. When the data object is deemed to be too large to stream, the system of Curtin determines to segment the data object into substreams instead of streaming the data object as a single stream. In other words, of a plurality of choices (i.e., segmented or not), the data object is determined to be streamed. The Examiner notes that a user (i.e., a tenant of the object storage server) controls how to stream the data object. Curtin therefore particularly teaches wherein the target distribution manner is selected by a tenant of the object storage server based on the distribution characteristic of the object).
Response to Arguments
In the Remarks dated 9/1/2026, Applicant substantially argues:
None of the prior art, alone or in combination, teaches or suggests each and every feature of the amended claims.
Applicant’s arguments dated 9/1/2026 have been fully considered, but they are moot in view of the new grounds of rejection that were necessitated by Applicant’s amendments to the claims. The Examiner notes that the new Curtin reference in combination with the prior art of record clearly teaches the limitations added via amendment. The Examiner further notes that the new grounds of rejection were necessitated by Applicant’s amendments to the claims.
Allowable Subject Matter
Claims 2-5, 9-11, and 15-17 are objected to as being dependent upon a rejected base claim, but would be allowable if rewritten in independent form including all of the limitations of the base claim and any intervening claims.
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 Daniel C. Chappell whose telephone number is (571)272-5003. The examiner can normally be reached 1000-1800, Eastern.
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, Jared I. Rutz can be reached at (571)272-5535. 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.
Daniel C. Chappell
Primary Examiner
Art Unit 2135
/Daniel C. Chappell/Primary Examiner, Art Unit 2135