DETAILED ACTION
This Office Actions is in response to communication filed on 06/01/2023. Claims 1 – 20 are pending. Claim 1, 8, and 15 are in independent form.
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 Rejections - 35 USC § 101
35 U.S.C. 101 reads as follows:
Whoever invents or discovers any new and useful process, machine, manufacture, or composition of matter, or any new and useful improvement thereof, may obtain a patent therefor, subject to the conditions and requirements of this title.
Claim 1 – 20 are rejected under 35 U.S.C. 101 because the claimed invention recites a judicial exception, is directed to that judicial exception, an abstract idea, as it has not been integrated into practical application and the claims further do not recite significantly more than the judicial exception.
With regard to claims 1 and 10, these claims are within at least one of the four categories of patent eligible subject matter as it is directing to:
Step 1:
Claim 1 is directed to a method and fall within the statutory category of process;
Claim 8 is directed to a system and falls within the statutory category of machines;
Claim 15 is directed to a non-transitory computer-readable medium and falls within the statutory category of manufacture;
Therefore, “Are the claims to a process, machine, manufacture or composition of matter?” Yes, under Step 1.
In order to evaluate the Step 2A inquiry “Is the claim directed to a law of nature, a natural phenomenon or an abstract idea?” we must determine, at Step 2A Prong 1, whether the claim recites a law of nature, a natural phenomenon or an abstract idea and further whether the claim recites additional elements that integrate the judicial exception into a practical application.
Step 2A Prong 1:
However, the limitations
Claims 1, 8, and 10 “determining, ........ both of: an identifier of a first container in the object store comprising the first object; and an internet protocol (IP) address associated with an object protocol service provisioned to access the first container comprising the first object;”
as drafted, recite functions that, under its broadest reasonable interpretation, covers functions that could reasonably be performed in the mind, including with the aid of pen and paper, but for the recitation of generic computer components. The limitations encompass a human mind carrying out the function through observation, evaluation judgment and /or opinion, or even with the aid of pen and paper. For example, a person can perform the determining/identifying/observing an identifier or an IP address, in their mind, and/or including with the aid of pen and paper. (See MPEP § 2106.04(a)(2)(III)).
That is, the above limitations in the claims 1 and 10 as drafted, are functions that, under its broadest reasonable interpretation, recite the abstract idea of a mental process. The limitations encompass a human mind carrying out the functions through observation, evaluation, judgment and /or opinion, or even with the aid of pen and paper. Thus, these limitations recite and fall within the “Mental Processes” grouping of abstract ideas under Step 2A Prong 1.
Step 2A Prong 2:
Under Prong 2 Step 2A, this judicial exception is not integrated into a practical application. The claims recite the following additional elements:
Claim 1: “A method for exposing object storage as a service, the method comprising; by an object service proxy provisioned for providing the service”
Claim 8: “A system comprising: one or more processors; and at least one memory, the one or more processors and the at least one memory configured to; by an object service proxy provisioned for providing the service”
Claim 15: “A non-transitory computer-readable medium comprising instructions that, when executed by one or more processors of a computing system, cause the computing system to perform operations for exposing object storage as a service, the operations comprising; an object service proxy provisioned for providing the service”
are recited at a high-level of generality such that it amounts no more than mere instructions to apply the exception using a generic computer component, or merely a generic computer or generic computer components to perform the judicial exception.
Further, the claims recite the following additional element:
Claims 1, 8, and 15: receiving, ........, a request to access a first object in an object store; re-directing, by the object service proxy, the request to access the first object to the object protocol service using the IP address associated with the object protocol service; and in response to re-directing the request to the object service proxy, receiving the first object from the object protocol service.
which is the limitation merely a recitation of limit the use of the abstract idea amounts to necessary data gathering and outputting - Insignificant Extra-Solution Activity - pre-solution and post-solution activity - mere data gathering. Extra-solution activity includes both pre-solution and post-solution activity. An example of pre-solution activity is a step of gathering data for use in a claimed process. As explained by the Supreme Court, the addition of insignificant extra-solution activity does not amount to an inventive concept, particularly when the activity is well-understood or conventional, which does not integrate a judicial exception into practical application. (See MPEP § 2106.05(g)).
In addition, the claims also recite the following additional elements:
Claims 1, 8, and 15: wherein the object store leverages a percentage of datastore capacity for a datastore; wherein the request comprises the identifier of the first container.
which are merely recites "apply it" (or an equivalent) or are no more than mere instructions to implement an abstract idea or other exception on a computer. The above limitations invoke computers or other machinery merely as a tool to perform an existing process, or simply adding a general-purpose computer or computer components after the fact to an abstract idea, which does not integrate a judicial exception into a practical application or provide significantly more (see MPEP § 2106.05(f)).
Therefore, these additional elements do not integrate the abstract idea into a practical application and they do not impose any meaningful limits on practicing the abstract idea. The claims are directed to an abstract idea.
After having evaluating the inquires set forth in Steps 2A Prong 1 and 2, it has been concluded that the claims 1 and 10 do not only recites a judicial exception but that the claims are directed to the judicial exception as the judicial exception has not been integrated into practical application.
Step 2B:
Under Step 2B, the claims do not include additional elements, alone or in combination, that are sufficient to amount to significantly more than the judicial exception. As discussed above with respect to integration of the abstract idea into a practical application, the additional elements amount to no more than generic computing components and invoking computers and other machinery merely as a tool to perform an existing process, which do not amount to significantly more than the abstract idea. The claims that amount to nothing more than an instruction to apply the abstract idea using a generic computer do not render an abstract idea eligible.
The claims recite the following additional elements:
Claims 1, 8, and 15: receiving, ........, a request to access a first object in an object store; re-directing, by the object service proxy, the request to access the first object to the object protocol service using the IP address associated with the object protocol service; and in response to re-directing the request to the object service proxy, receiving the first object from the object protocol service.
which is the limitation merely a recitation of limit the use of the abstract idea amounts to necessary data gathering and outputting - Insignificant Extra-Solution Activity - pre-solution and post-solution activity - mere data gathering. Extra-solution activity includes both pre-solution and post-solution activity. The courts have recognized the “sending and receiving data” are insignificant extra-solution data gathering activity which do not amount to significantly more than the abstract idea, and are limitations computer functions as well-understood, routine, conventional (WURC) functions when they are claimed in a merely generic manner (e.g., at a high level of generality) or as insignificant extra-solution activity. (See TLI Communications LLC v. AV Auto. LLC, 823 F.3d 607, 614, 118 USPQ2d 1744, 1748 (Fed. Cir. 2016) (Specification described additional elements as “either performing basic computer functions such as sending and receiving data, or performing functions ‘known’ in the art.”) and MPEP § 2106.05(d)).
In addition, the claims also recite the following additional elements:
Claims 1, 8, and 15: wherein the object store leverages a percentage of datastore capacity for a datastore; wherein the request comprises the identifier of the first container.
which are merely recites "apply it" (or an equivalent) or are no more than mere instructions to implement an abstract idea or other exception on a computer, which do not amount to significantly more than the abstract idea. The courts have found the additional elements to be mere instructions to apply an exception, because they do no more than merely invoke computers or machinery as a tool to perform an existing process include requiring the use of software to tailor information and provide it to the user on a generic computer. (See Intellectual Ventures I LLC v. Capital One Bank (USA), 792 F.3d 1363, 1370-71, 115 USPQ2d 1636, 1642 (Fed. Cir. 2015)) and MPEP § 2106.05(f)).
Therefore, “Do the claims recite additional elements that amount to significantly more than the judicial exception? No, these additional elements, alone or in combination, do not amount to significantly more than the judicial exception.
Having concluded analysis within the provided framework, claims 1, 8, and 15 do not recite patent eligible subject matter under 35 U.S.C. § 101.
Apply the same analysis to the dependent claims 2 – 7, 9 – 14, and 15 – 20. The claims 2 – 7, 9 – 14, and 15 – 20, according to the above analysis, are mental processes, groupings of abstract ideas. Thus claims 2 – 7, 9 – 14, and 15 – 20 are ineligible.
With regard to claims 2, 9, and 16, these claims the claim further including the limitation of “wherein determining the identifier of the first container comprising the first object is performed by the object service proxy using an identifier of the first object as a first key to search a first key-value database to determine the identifier of the first container,” that fall with the “Mental Processes” grouping of abstract ideas, which is analyzed under Prong 1 Step 2A. Further, these claims have limitations to further indicate the first key-value database comprising: a plurality of first key-value mappings between a first plurality of keys and a first plurality of values, the first plurality of keys each being a corresponding identifier of corresponding object, the first plurality of keys including the first key, and the first plurality of values each being a corresponding identifier of a corresponding container where the corresponding object is stored, the first plurality of values including a first value that is the identifier of the first container. The limitations are the additional element analyzed under Prong 2 Step 2A, which are merely a recitation of limit the use of the abstract idea to insignificant extra-solution data gathering activity or are no more than mere instructions to implement an abstract idea or other exception on a computer. Further, the claims do not recite any further additional elements and for the same reasons as above with regard to integration into practical application and whether additional elements amount to significantly more, the claims also fail both Step 2A prong 2, thus the claims are directed to the judicial exception as it has not been integrated into practical application, and fail Step 2B as not amounting to significantly more. Therefore, the claims do not recite patent eligible subject matter under 35 U.S.C. § 101.
With regard to claims 3, 10, and 17, these claims the claim further including the limitation of “wherein determining the IP address associated with the object protocol service provisioned to access the first container comprising the first object is performed by the object service proxy using the identifier of the first container as a second key to search a second key-value database to determine the IP address associated with the object protocol service” that fall with the “Mental Processes” grouping of abstract ideas, which is analyzed under Prong 1 Step 2A. Further, these claims have limitation to further indicate the second key-value database comprising: a plurality of second key-value mappings between a second plurality of keys and a second plurality of values, the second plurality of keys each being the corresponding identifier of the corresponding container where the corresponding object is stored, the second plurality of keys including the second key, and the second plurality of values each being a corresponding IP address associated with a corresponding object protocol service provisioned to access the corresponding container, the second plurality of values including a second value that is the IP address associated with the object protocol service. The limitations are the additional element analyzed under Prong 2 Step 2A, which are merely a recitation of limit the use of the abstract idea to insignificant extra-solution data gathering activity or are no more than mere instructions to implement an abstract idea or other exception on a computer. Further, the claims do not recite any further additional elements and for the same reasons as above with regard to integration into practical application and whether additional elements amount to significantly more, the claims also fail both Step 2A prong 2, thus the claims are directed to the judicial exception as it has not been integrated into practical application, and fail Step 2B as not amounting to significantly more. Therefore, the claims do not recite patent eligible subject matter under 35 U.S.C. § 101.
With regard to claims 4, 11, and 18 these claims the claim further including the limitation of “determining, by the object service proxy, to create the second object in the first container in the object store; determining, by the object service proxy, the IP address associated with the object protocol service provisioned to access the first container” that fall with the “Mental Processes” grouping of abstract ideas, which is analyzed under Prong 1 Step 2A. Further, these claims have limitation to further indicate the receiving by the object service proxy, another request to create a second object; re-directing, by the object service proxy, the request to create the second object to the object protocol service using the IP address associated with the object protocol service; and in response to re-directing the request to the object service proxy, receiving, by the object service proxy from the object protocol service, an indication that the second object has been created. The limitations are the additional element analyzed under Prong 2 Step 2A, which are merely a recitation of limit the use of the abstract idea to insignificant extra-solution data gathering activity or are no more than mere instructions to implement an abstract idea or other exception on a computer. Further, the claims do not recite any further additional elements and for the same reasons as above with regard to integration into practical application and whether additional elements amount to significantly more, the claims also fail both Step 2A prong 2, thus the claims are directed to the judicial exception as it has not been integrated into practical application, and fail Step 2B as not amounting to significantly more. Therefore, the claims do not recite patent eligible subject matter under 35 U.S.C. § 101.
With regard to claims 5, 12, and 19, these claims have limitation to further indicate the wherein the object service proxy determines to create the second object in the first container in the object store based on: an identifier of the first container included in the other request; or a current usage of the percentage of the datastore capacity allocated to the object store. The limitation is the additional element analyzed under Prong 2 Step 2A, which merely recites "apply it" (or an equivalent) or are no more than mere instructions to implement an abstract idea or other exception on a computer. Further, the claims do not recite any further additional elements and for the same reasons as above with regard to integration into practical application and whether additional elements amount to significantly more, the claims also fail both Step 2A prong 2, thus the claims are directed to the judicial exception as it has not been integrated into practical application, and fail Step 2B as not amounting to significantly more. Therefore, the claims do not recite patent eligible subject matter under 35 U.S.C. § 101.
With regard to claims 6, 13, and 20, these claims have limitation to further indicate the wherein the percentage of the datastore capacity leveraged by the object store is limited to a threshold amount. The limitation is the additional element analyzed under Prong 2 Step 2A, which merely recites "apply it" (or an equivalent) or are no more than mere instructions to implement an abstract idea or other exception on a computer. Further, the claims do not recite any further additional elements and for the same reasons as above with regard to integration into practical application and whether additional elements amount to significantly more, the claims also fail both Step 2A prong 2, thus the claims are directed to the judicial exception as it has not been integrated into practical application, and fail Step 2B as not amounting to significantly more. Therefore, the claims do not recite patent eligible subject matter under 35 U.S.C. § 101
With regard to claims 7 and 15 these claims the claim further including the limitation of “determining, by a virtualization manager configured to monitor usage of the datastore capacity by the object store, that the object store is using an amount of the datastore capacity greater than the threshold amount” that fall with the “Mental Processes” grouping of abstract ideas, which is analyzed under Prong 1 Step 2A. Further, these claims have limitation to further indicate the wherein: a plurality of object stores, including the object store, are aggregated to provide the service, wherein each of the plurality of object stores leverages a percentage of capacity of different datastores; performing, by the virtualization manager, load balancing of objects in the plurality of object stores to reduce the usage of the datastore capacity by the object store below the threshold amount. The limitation is the additional element analyzed under Prong 2 Step 2A, which merely recites "apply it" (or an equivalent) or are no more than mere instructions to implement an abstract idea or other exception on a computer. Further, the claim does not recite any further additional elements and for the same reasons as above with regard to integration into practical application and whether additional elements amount to significantly more, the claim also fails both Step 2A prong 2, thus the claim is directed to the judicial exception as it has not been integrated into practical application, and fail Step 2B as not amounting to significantly more. Therefore, the claim does not recite patent eligible subject matter under 35 U.S.C. § 101.
Claim Rejections - 35 USC § 103
The following is a quotation of 35 U.S.C. 103 which forms the basis for all obviousness rejections set forth in this Office action:
A patent for a claimed invention may not be obtained, notwithstanding that the claimed invention is not identically disclosed as set forth in section 102, if the differences between the claimed invention and the prior art are such that the claimed invention as a whole would have been obvious before the effective filing date of the claimed invention to a person having ordinary skill in the art to which the claimed invention pertains. Patentability shall not be negated by the manner in which the invention was made.
Claims 1, 4, 5, 8, 11, 12, 15, 18, and 19 are rejected under 35 U.S.C. 103 as being unpatentable over Gopalapura Venkatesh et al. US Pub. No. US 20230056425 A1 (hereafter Gopalapura), in further view of Nachimuthu et al. US Pub. No. US 20190042136 A1 (hereafter Nachimuthu).
Regarding claim 1, Gopalapura teaches the invention substantially as claimed: A method for exposing object storage as a service, the method comprising: receiving, by an object service proxy provisioned for providing the service, a request to access a first object in an object store, (e.g. FIG. 7 and [0090]: “In particular embodiments, the storage items stored by the VFS 732, such as files and folders, may be distributed amongst multiple FSVMs 704, 712, 720. In particular embodiments, when storage access requests are received from the user VMs, the VFS 732 identifies FSVMs 704, 712, 720 at which requested storage items, e.g., folders, files, or portions thereof, are stored, and directs the user VMs to the locations of the storage items.” and [0091]: “When a user application executing in a user VM 714 on one of the host machines 702 initiates a storage access operation, such as reading or writing data, the user VM 714 may send the storage access operation in a request to one of the FSVMs 704, 712, 720 on one of the host machines 702, 708, 716.”) The citation discloses a system comprises multiple host machine 702, 708, and 716 and the virtualized file server (VFS 732) that provides file services to user VMs 714, 718, 722, 726, 730, and 734. When the system receives the storage access operation (reading or writing data), the request is sent to one of the FSVM/object service proxy, that responsible for locating the requested files.
determining, by the object service proxy, both of ........ and an internet protocol (IP) address associated with an object protocol service provisioned to access the first container comprising the first object; (e.g. [0093]: “In particular embodiments, a name service 724, such as that specified by the Domain Name System (DNS) Internet protocol, may communicate with the host machines 702, 708, 716 via the network 754 and may store a database of domain name (e.g., host name) to IP address mappings. The domain names may correspond to FSVMs, e.g., fsvm1.domain.com or ip-addr1.domain.com for an FSVM named FSVM-1. The name service 724 may be queried by the user VMs to determine the IP address of a particular host machine 702, 708, 716 given a name of the host machine, e.g., to determine the IP address of the host name ip-addr1 for the host machine 702. The name service 724 may be located on a separate server computer system or on one or more of the host machines 702, 708, 716. The names and IP addresses of the host machines of the VFS 732, e.g., the host machines 702, 708, 716, may be stored in the name service 724 so that the user VMs may determine the IP address of each of the host machines 702, 708, 716, or FSVMs 704, 712, 720.”) The citation discloses the database that stored at the name service 724, would comprise the mapping of the IP address that associate with the host name.
re-directing, by the object service proxy, the request to access the first object to the object protocol service using the IP address associated with the object protocol service, (e.g. [0091]: “Otherwise, the FSVM 712 responds to the request with an indication that the data is not on the FSVM 712, and may redirect the requesting user VM 714 to the FSVM on which the storage map indicates the file or folder is located. The client may cache the address of the FSVM on which the file or folder is located, so that it may send subsequent requests for the file or folder directly to that FSVM.”) The citation discloses the redirecting request of user VM to access the files/object, that not on the current FSVM, using the address of the FSVM that currently has the file or folder.
and in response to re-directing the request to the object service proxy, receiving the first object from the object protocol service. (e.g. [0089]: “In particular embodiments, the user VMs may send data to the VFS 732 (e.g., to the FSVMs) using write requests, and may receive data from it using read requests. The read and write requests, and their associated parameters, data, and results, may be sent between a user VM and one or more file server VMs (FSVMs) located on the same host machine as the user VM or on different host machines from the user VM.” and [0091]) The citation discloses, after being redirect to the corresponding host that has the files/object, the file would be received by the user VM.
Gopalapura fails to teach wherein the object store leverages a percentage of datastore capacity for a datastore; an identifier of a first container in the object store comprising the first object; wherein the request comprises the identifier of the first container;
However, Nachimuthu teaches wherein the object store leverages a percentage of datastore capacity for a datastore (e.g. [0062]: “The memory mapper 1434, in the illustrative embodiment, is configured to generate the memory map data 1404, such as by determining an amount of memory to allocated to each partition (e.g., pursuant to a target amount of memory specified in a service level agreement (SLA) for an application executed by the corresponding partition, based on a predefined amount of memory to allocate to every partition, or based on other factors) and defining a separate memory space in the memory that is usable by the corresponding partition to the exclusion of the other partitions.”) The citation discloses the memory mapper allocates an amount/percentage, of memory/storage, that allocate for each partition/datastore.
an identifier of a first container in the object store comprising the first object (e.g. [0057]: Each data storage device 1314 may include a system partition that stores data and firmware code for the data storage device 1314. Each data storage device 1314 may also include one or more operating system partitions that store data files and executables for operating systems.” and [0063]: “As indicated in block 1512, in determining the partitions, the compute sled 1230, in the illustrative embodiment, also assigns a partition identifier to each determined partition (e.g., in the partition identifier data 1402).”) The citation discloses at [0057] that the partition/container, store data files and executable/first object. At [0063] discloses the partition identifier/container identifier, is assigned to each determined partition.
wherein the request comprises the identifier of the first container; (e.g. FIG. 16 and [0065]: “However, if a memory access request has been obtained, the method 1500 advances to block 1534, in which the compute sled 1230 identifies the partition associated with the memory access request. In doing so, the compute sled 1230 may add the partition identifier to the memory access request as a tag, as indicated in block 1536.” and [0066]: “Subsequently, in block 1540, the compute sled 1230 determines the corresponding physical memory address as a function of the partition identifier and a logical memory address included in the memory access request.”) The citation discloses the memory request access would include the partition identifier/container identifier.
It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to add the wherein the object store leverages a percentage of datastore capacity for a datastore; an identifier of a first container in the object store comprising the first object; wherein the request comprises the identifier of the first container, as taught in Nachimuthu’s invention into Gopalapura’s invention because the additional features would help the system to route requests more precisely and make better use of storage resources, because the identifier and the defined percentage of datastore capacity would help the system reduces lookup time and avoids unnecessary middle steps.
Regarding claim 4, Nachimuthu, in view of Gopalapura, discloses the method of claim 1, and Nachimuthu further teaches further comprising: receiving by the object service proxy, another request to create a second object; ([0089]: “In particular embodiments, the user VMs may send data to the VFS 732 (e.g., to the FSVMs) using write requests, and may receive data from it using read requests. The read and write requests, and their associated parameters, data, and results, may be sent between a user VM and one or more file server VMs (FSVMs) located on the same host machine as the user VM or on different host machines from the user VM. The read and write requests may be sent between host machines 702, 708, 716 via network 754, e.g., using a network communication protocol such as iSCSI, CIFS, SMB, TCP, IP, or the like.”) The citation discloses the user VM send the write request/create a second object, to the VFS 732.
determining, by the object service proxy, to create the second object in the first container in the object store; (e.g. [0096]: “User VMs may access the data stored on a distributed VFS instance via storage access operations, such as operations to list folders and files in a specified folder, create a new file or folder, open an existing file for reading or writing, and read data from or write data to a file, as well as storage item manipulation operations to rename, delete, copy, or get details, such as metadata, of files or folders. Note that folders may also be referred to herein as “directories.”) The citation discloses the user send
determining, by the object service proxy, the IP address associated with the object protocol service provisioned to access the first container; (e.g. [0093]: “In particular embodiments, a name service 724, such as that specified by the Domain Name System (DNS) Internet protocol, may communicate with the host machines 702, 708, 716 via the network 754 and may store a database of domain name (e.g., host name) to IP address mappings. The domain names may correspond to FSVMs, e.g., fsvm1.domain.com or ip-addr1.domain.com for an FSVM named FSVM-1. The name service 724 may be queried by the user VMs to determine the IP address of a particular host machine 702, 708, 716 given a name of the host machine, e.g., to determine the IP address of the host name ip-addr1 for the host machine 702. The name service 724 may be located on a separate server computer system or on one or more of the host machines 702, 708, 716. The names and IP addresses of the host machines of the VFS 732, e.g., the host machines 702, 708, 716, may be stored in the name service 724 so that the user VMs may determine the IP address of each of the host machines 702, 708, 716, or FSVMs 704, 712, 720.”) The citation discloses the database that stored at the name service 724, would comprise the mapping of the IP address that associate with the host name.
re-directing, by the object service proxy, the request to create the second object to the object protocol service using the IP address associated with the object protocol service; (e.g. [0091]: “Otherwise, the FSVM 712 responds to the request with an indication that the data is not on the FSVM 712, and may redirect the requesting user VM 714 to the FSVM on which the storage map indicates the file or folder is located. The client may cache the address of the FSVM on which the file or folder is located, so that it may send subsequent requests for the file or folder directly to that FSVM.”) The citation discloses the redirecting request of user VM to access the files/object, that not on the current FSVM, using the address of the FSVM that currently has the file or folder.
and in response to re-directing the request to the object service proxy, receiving, by the object service proxy from the object protocol service, an indication that the second object has been created. (e.g. [0089]: “In particular embodiments, the user VMs may send data to the VFS 732 (e.g., to the FSVMs) using write requests, and may receive data from it using read requests. The read and write requests, and their associated parameters, data, and results, may be sent between a user VM and one or more file server VMs (FSVMs) located on the same host machine as the user VM or on different host machines from the user VM.” and [0096]: “User VMs may access the data stored on a distributed VFS instance via storage access operations, such as operations to list folders and files in a specified folder, create a new file or folder, open an existing file for reading or writing, and read data from or write data to a file, as well as storage item manipulation operations to rename, delete, copy, or get details, such as metadata, of files or folders. Note that folders may also be referred to herein as “directories.”) The citation discloses, after being redirect to the corresponding host that has the location, the file or folder will be created at the location.
Regarding claim 5, Nachimuthu, in view of Gopalapura, discloses the method of claim 1, and Gopalapura further teaches wherein the object service proxy determines to create the second object in the first container in the object store based on: an identifier of the first container included in the other request; (e.g. FIG. 16 and [0062]: “The memory access manager 1430, which may be embodied as hardware, firmware, software, virtualized hardware, emulated architecture, and/or a combination thereof, is configured to determine partitions among the sockets 1232, 1234 of the compute sled 1230, establish a separate memory space for each determined partition, and route memory access requests originating from each partition to the corresponding memory space.” and [0065]: “However, if a memory access request has been obtained, the method 1500 advances to block 1534, in which the compute sled 1230 identifies the partition associated with the memory access request. In doing so, the compute sled 1230 may add the partition identifier to the memory access request as a tag, as indicated in block 1536.” and [0066]: “Subsequently, in block 1540, the compute sled 1230 determines the corresponding physical memory address as a function of the partition identifier and a logical memory address included in the memory access request.”) The citation discloses the memory request access would include the partition identifier/container identifier.at [0062] discloses there could be multiple memory access requests, so the other request would be within the multiple memory access requests.
or a current usage of the percentage of the datastore capacity allocated to the object store.
Regarding claim 8, it is a system claim having similar limitations cited in claim 1, so it is also rejected under the same rational.
Regarding claim 11, it is a system claim having similar limitations cited in claim 4, so it is also rejected under the same rational.
Regarding claim 12, it is a system claim having similar limitations cited in claim 5, so it is also rejected under the same rational.
Regarding claim 15, it is a non-transitory computer-readable medium claim having similar limitations cited in claim 1, so it is also rejected under the same rational.
Regarding claim 18, it is a non-transitory computer-readable medium claim having similar limitations cited in claim 4, so it is also rejected under the same rational.
Regarding claim 19, it is a non-transitory computer-readable medium claim having similar limitations cited in claim 5, so it is also rejected under the same rational.
Claims 2, 3, 9, 10, 16, and 17 are rejected under 35 U.S.C. 103 as being unpatentable over Nachimuthu and Gopalapura, in further view of Tsuru US Pub. No. US 20190102210 A1.
Regarding claim 2, Nachimuthu, in view of Gopalapura, discloses the method of claim 1, but fails to teach wherein determining the identifier of the first container comprising the first object is performed by the object service proxy using an identifier of the first object as a first key to search a first key-value database to determine the identifier of the first container, the first key-value database comprising: a plurality of first key-value mappings between a first plurality of keys and a first plurality of values, the first plurality of keys each being a corresponding identifier of corresponding object, the first plurality of keys including the first key, and the first plurality of values each being a corresponding identifier of a corresponding container where the corresponding object is stored, the first plurality of values including a first value that is the identifier of the first container.
However, Tsuru teaches wherein determining the identifier of the first container comprising the first object is performed by the object service proxy using an identifier of the first object as a first key to search a first key-value database to determine the identifier of the first container, (e.g. FIG. 7 and [0096]: “FIG. 7 is a diagram illustrating an example of an integrated log management table. The integrated log management table 151 is generated by the integrated log generating unit 131, and stored in the integrated log DB 150. The integrated log management table 151 includes items of a VM name, a node ID,”) The citation discloses at FIG. 7 the table 115/first key-value database comprises the VM name/object, or the key, and the node ID as value.
the first key-value database comprising: a plurality of first key-value mappings between a first plurality of keys and a first plurality of values, the first plurality of keys each being a corresponding identifier of corresponding object, the first plurality of keys including the first key, ([0099]: “For example, the integrated log management table 151 has a record registered therein in which the VM name is “VM1,” the node ID is “1234,” and [0101]: “Also for other virtual machines, sets of a VM name, a node ID, a date and time, an HV status, an HV log, an HW status, and an HW log are registered in the integrated log management table 151.) The citation discloses the table 151 that comprise the VM name/key. The table 151 also comprise data of other VMs, and the first VM name would be include within the sets of other VM name.
and the first plurality of values each being a corresponding identifier of a corresponding container where the corresponding object is stored, the first plurality of values including a first value that is the identifier of the first container. ([0099]: “For example, the integrated log management table 151 has a record registered therein in which the VM name is “VM1,” the node ID is “1234,” and [0101]: “Also for other virtual machines, sets of a VM name, a node ID, a date and time, an HV status, an HV log, an HW status, and an HW log are registered in the integrated log management table 151.) The citation discloses the table 151 that comprise the node ID/value. The table 151 also comprise data of other VMs, and data of the node ID of the first VM would be include within the sets of others node ID.
.
It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to add the wherein determining the identifier of the first container comprising the first object is performed by the object service proxy using an identifier of the first object as a first key to search a first key-value database to determine the identifier of the first container, the first key-value database comprising: a plurality of first key-value mappings between a first plurality of keys and a first plurality of values, the first plurality of keys each being a corresponding identifier of corresponding object, the first plurality of keys including the first key, and the first plurality of values each being a corresponding identifier of a corresponding container where the corresponding object is stored, the first plurality of values including a first value that is the identifier of the first container, as taught in Tsuru’s invention into Nachimuthu and Gopalapura’s invention because the newly added limitation would help the system to quickly and accurately find the container that stores the object, without using complex and time consuming procedure, which helps to improve speed and enabling faster request routing and more reliable performance.
Regarding claim 3, Nachimuthu, in view of Gopalapura and Tsuru, discloses the method of claim 2, and Tsuru further teaches wherein determining the IP address associated with the object protocol service provisioned to access the first container comprising the first object is performed by the object service proxy using the identifier of the first container as a second key to search a second key-value database to determine the IP address associated with the object protocol service, (e.g. FIG. 6 and [0092]: “FIG. 6 is a diagram illustrating an example of a node ID management table. The node ID management table 112 is generated by the infrastructure managing unit 140, and stored in the storage unit 110. The node ID management table 112 includes items of an IP address and a node ID.” and [0094] For example, the node ID management table 112 has a record registered therein in which the IP address is “192.168.0.1” and the node ID is “1234.” This record indicates that the node ID of the component (hypervisor 210) having the IP address “192.168.0.1” is “1234.”) The citation discloses at FIG. 6 the table 112/second key-value database comprises the node ID/identifier, or the key, and the IP address associate with the node ID as the value.
the second key-value database comprising: a plurality of second key-value mappings between a second plurality of keys and a second plurality of values, the second plurality of keys each being the corresponding identifier of the corresponding container where the corresponding object is stored, the second plurality of keys including the second key, and the second plurality of values each being a corresponding IP address associated with a corresponding object protocol service provisioned to access the corresponding container, the second plurality of values including a second value that is the IP address associated with the object protocol service. (e.g. FIG. 6 and [0092]: “FIG. 6 is a diagram illustrating an example of a node ID management table. The node ID management table 112 is generated by the infrastructure managing unit 140, and stored in the storage unit 110. The node ID management table 112 includes items of an IP address and a node ID.” and [0094] For example, the node ID management table 112 has a record registered therein in which the IP address is “192.168.0.1” and the node ID is “1234.” This record indicates that the node ID of the component (hypervisor 210) having the IP address “192.168.0.1” is “1234.” and [0095]: “Also for other IP addresses, sets of an IP address and a node ID are registered in the node ID management table 112.”) The citation discloses at FIG. 6 the table 112/second key-value database comprises the node ID/identifier, or the key, and the IP address associate with the node ID as the value. At [0095] discloses there are other set of node ID and IP address are registered in the table 112.
Regarding claim 9, it is a system claim having similar limitations cited in claim 2, so it is also rejected under the same rational.
Regarding claim 10, it is a system claim having similar limitations cited in claim 3, so it is also rejected under the same rational.
Regarding claim 16, it is a non-transitory computer-readable medium claim having similar limitations cited in claim 2, so it is also rejected under the same rational.
Regarding claim 17, it is a non-transitory computer-readable medium claim having similar limitations cited in claim 3, so it is also rejected under the same rational.
Claims 6, 13, and 20 are rejected under 35 U.S.C. 103 as being unpatentable over Nachimuthu and Gopalapura, in further view of Xiang US Pub. No. US 20240330187 A1
Regarding claim 6, Nachimuthu, in view of Gopalapura discloses the method of claim 1, but fails to teach wherein the percentage of the datastore capacity leveraged by the object store is limited to a threshold amount.
However, Xiang teaches wherein the percentage of the datastore capacity leveraged by the object store is limited to a threshold amount; (e.g. [0041]: “The storage capacity of the cache memory 130 is limited, such that there is a caching threshold set to store objects in the cache memory 130. If the size of objects stored in the cache memory 130 exceeds the caching threshold, then no further objects can be stored in the cache memory 130.”) The citation the cache memory/datastore capacity is limited to a caching threshold amount.
It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to add the in the wherein the percentage of the datastore capacity leveraged by the object store is limited to a threshold amount, as taught in Xiang’s invention into Nachimuthu and Gopalapura’s invention because the new feature would help preventing over consuming too many storage, in which improves system stability and performance because it ensures fair allocation of storage, reduces the risk of congestion, and allow the system to handle requests more consistently.
Regarding claim 13, it is a system claim having similar limitations cited in claim 6, so it is also rejected under the same rational.
Regarding claim 20, it is a non-transitory computer-readable medium claim having similar limitations cited in claim 6, so it is also rejected under the same rational.
Claims 7 and 14 are rejected under 35 U.S.C. 103 as being unpatentable over Nachimuthu, Gopalapura, and Xiang, in further view of Asadi US Pub. No. US 20180121529 A1 (hereafter Asadi).
Regarding claim 7, Nachimuthu, in view of Gopalapura and Xiang, discloses the method of claim 6, and Nachimuthu further teach wherein: a plurality of object stores, including the object store, are aggregated to provide the service, (e.g. FIG. 7 and [0080] The architectures of FIG. 7 can be implemented for a distributed platform that contains multiple host machines 702, 716, and 708 that manage multiple tiers of storage. The multiple tiers of storage may include storage that is accessible through network 754, such as, by way of example and not limitation, cloud storage 706 (e.g., which may be accessible through the Internet), network-attached storage 710 (NAS) (e.g., which may be accessible through a LAN), or a storage area network (SAN).”) The citation discloses a system comprise 3 host machine that cooperate to provide services.
Gopalapura further teaches wherein each of the plurality of object stores leverages a percentage of capacity of different datastores; (e.g. [0062]: “The memory mapper 1434, in the illustrative embodiment, is configured to generate the memory map data 1404, such as by determining an amount of memory to allocated to each partition (e.g., pursuant to a target amount of memory specified in a service level agreement (SLA) for an application executed by the corresponding partition, based on a predefined amount of memory to allocate to every partition, or based on other factors) and defining a separate memory space in the memory that is usable by the corresponding partition to the exclusion of the other partitions.”) The citation discloses the memory mapper allocates an amount/percentage, of memory/storage, that allocate for each partition/datastore. Since there are more than one partition, it would imply that each partition has it owns amount of memory allocated to it.
Nachimuthu, in view of Gopalapura and Xiang fails to teach and the method further comprises: determining, by a virtualization manager configured to monitor usage of the datastore capacity by the object store, that the object store is using an amount of the datastore capacity greater than the threshold amount; and performing, by the virtualization manager, load balancing of objects in the plurality of object stores to reduce the usage of the datastore capacity by the object store below the threshold amount.
However, Asadi teaches and the method further comprises: determining, by a virtualization manager configured to monitor usage of the datastore capacity by the object store, that the object store is using an amount of the datastore capacity greater than the threshold amount; and performing, by the virtualization manager, load balancing of objects in the plurality of object stores to reduce the usage of the datastore capacity by the object store below the threshold amount; (e.g. [0038]: “For instance, when the average response time, as explained above, for a dataset stored in a DB instance exceeds a defined threshold value, metrics monitor 130 may send a message to scaling manager 145 indicating that the dataset is overloading the DB instance. As another example, when the memory usage of a DB instance exceeds a defined threshold percentage (e.g., 70%, 75%, 80%, etc.), metrics monitor 130 may send a message to scaling manager 145 indicating that the datasets stored on the DB instance are overloading the DB instance.” and [0040]: “Load balancer 135 is responsible for managing the distribution of the processing of queries among a group of eligible DB instances. In some embodiments, an eligible DB instance is a DB instance that may be selected by load balancer 135 to process a query.”) The citation the metrics monitor/virtualization manager, detects whether memory consumption is greater than or equal to a threshold amount, then the load balancing is performed.
It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to add the method further comprises: determining, by a virtualization manager configured to monitor usage of the datastore capacity by the object store, that the object store is using an amount of the datastore capacity greater than the threshold amount; and performing, by the virtualization manager, load balancing of objects in the plurality of object stores to reduce the usage of the datastore capacity by the object store below the threshold amount, as taught in Asadi’s invention into Nachimuthu, Gopalapura and Xiang’s invention because the new features would improve the reliability and efficiency of the system because load balancing across object stores data more evenly, reduce overload on any single datastore, and ensure consistent performance for the object storage.
Regarding claim 14, it is a system claim having similar limitations cited in claim 7, so it is also rejected under the same rational.
Conclusion
The prior art made of record and not relied upon is considered pertinent to applicant's disclosure:
US 20240111716 A1: The data analytics systems described herein may provide a cloud-hosted analytics and monitoring service for file servers. The information retrieved or received by the analytics system may include event data records and metadata. The metadata collection process may include gathering the structure, and storage locations of parts of the file system managed by the file server, as well as details (e.g., file size, allocated storage quota, creation and/or modification information, owner information, permissions information, etc.) for each data item (e.g., file, folder, directory, share, etc.) in the file system.
Examiner has cited particular columns/paragraphs/sections and line numbers in the references applied and not relied upon to the claims above for the convenience of the applicant. Although the specified citations are representative of the teachings of the art and are applied to specific limitations within the individual claim, other passages and figures may apply as well. It is respectfully requested from the applicant in preparing responses, to fully consider the references in entirety as potentially teaching all or part of the claimed invention, as well as the context of the passage as taught by the prior art or disclosed by the Examiner.
When responding to the Office action, applicant is advised to clearly point out the patentable novelty the claims present in view of the state of the art disclosed by the reference(s) cited or the objections made. A showing of how the amendments avoid such references or objections must also be present. See 37 C.F.R. 1.111(c).
When responding to this Office action, applicant is advised to provide the line and page numbers in the application and/or reference(s) cited to assist in locating the appropriate paragraphs
Any inquiry concerning this communication or earlier communications from the examiner should be directed to TUAN M NGUYEN whose telephone number is (703)756-1599. The examiner can normally be reached Monday-Friday: 9:30am - 5:30PM ET.
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, Pierre Vital can be reached at (571) 272-4215. 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.
/TUAN M NGUYEN/Examiner, Art Unit 2198
/PIERRE VITAL/Supervisory Patent Examiner, Art Unit 2198