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 § 102
The following is a quotation of the appropriate paragraphs of 35 U.S.C. 102 that form the basis for the rejections under this section made in this Office action:
A person shall be entitled to a patent unless –
(a)(1) the claimed invention was patented, described in a printed publication, or in public use, on sale, or otherwise available to the public before the effective filing date of the claimed invention.
Claim(s) 1-7, 16-18 is/are rejected under 35 U.S.C. 102(a)(1) as being anticipated US 20180373561 A1 (Nassi et. al).
Regarding claim 1, Nassi teaches, A non-transitory machine-readable storage medium comprising instructions that upon execution cause a processing system to: receive, at a first computing node, a write request, wherein the first computing node is part of a collection of multiple computing nodes, and wherein a plurality of virtual processors are executable in the multiple computing nodes to manage access of data in a shared storage system (paragraph 43, 50, the nodes are set in a storage system, and the virtual processors, read and write requests to another node. The paragraph 344, 347, virtual processors individually are used for managing the data); in response to the write request, send, from a first virtual processor at the first computing node to a second virtual processor, a request for metadata stored by the second virtual processor, wherein the first and second virtual processors are part of the plurality of virtual processors (paragraph 172-176; 227-233, 354-376, 387-389;401-423, a request from metadata stored in a node to a different node location); update, by the first virtual processor, an intent structure in a nonvolatile memory with information indicating an intent to write data for the write request; and in response to the metadata received at the first virtual processor from the second virtual processor, initiate a write of the data to cause storage of the data in the shared storage system (paragraph 404, the request includes information associated with the intent, paragraph 405, sending the requested metadata).
Regarding claim 2, Nassi teaches, The non-transitory machine-readable storage medium of claim 1, wherein the write request is to write a data object to the shared storage system, and wherein the instructions upon execution cause the processing system to: identify, by the first virtual processor, the second virtual processor to which the request for metadata is to be sent based on applying a function on an input value comprising an identifier of the data object, wherein the function produces different output values for different input values, wherein the different output values map to different partitions associated with respective virtual processors of the plurality of virtual processors (paragraph 406-413, a request for a piece of data in the node partitions, a cost function associated with the partitions, different output values map to different behaviors to the host and requesting node).
Regarding claim 3, Nassi teaches, The non-transitory machine-readable storage medium of claim 1, wherein the write of the data for the write request to the shared storage system is performed without any exchange of the data between the first virtual processor and any other virtual processor of the plurality of virtual processors (paragraph 403, 406, a request for a write being denied by the shared storage system).
Regarding claim 4, Nassi teaches, The non-transitory machine-readable storage medium of claim 1, wherein the metadata comprises one or more chunk identifiers that represent one or more chunks to store the data, and wherein the initiating of the write of the data comprises initiating the write of the one or more chunks represented by the one or more chunk identifiers received at the first virtual processor from the second virtual processor (paragraph 265-267, an identifier of working set of pages accessed by the requesting virtual processor to the secondary host, the chunk of pages associated with that vCPU being recorded).
Regarding claim 5, Nassi teaches, The non-transitory machine-readable storage medium of claim 1, wherein the instructions upon execution cause the processing system to: in response to write request, send, from the first virtual processor to the second virtual processor, an initiate indication indicating that a write of the data is to be initiated; and receive, at the first virtual processor from the second virtual processor in response to the initiate indication, version information a version of the data (paragraph 402, 404, in response to a write request, receiving information associated with the version history of the data, and paragraph 427, a decision is made to write the data).
Regarding claim 6, Nassi teaches, The non-transitory machine-readable storage medium of claim 5, wherein the updating of the intent structure in the nonvolatile memory with the information indicating the intent to write the data for the write request comprises adding an entry to the intent structure, the added entry corresponding to an identifier of the data and the version of the data (paragraph 402, 404, in response to a write request, receiving information associated with the version history of the data, and other identifiers of the data).
Regarding claim 7, Nassi teaches, The non-transitory machine-readable storage medium of claim 6, wherein the sending of the request for metadata from the first virtual processor to the second virtual processor is after the updating of the intent structure in the nonvolatile memory with the information indicating the intent to write the data for the write request (paragraph 401, 402, first, the system decides that it requires a page from another location, then sends a request for metadata, the intent structure being the call for metadata from the secondary virtual processor).
Regarding claim 16, Nassi teaches, The non-transitory machine-readable storage medium of claim 1, wherein the instructions upon execution cause the processing system to: receive, at the first virtual processor, a read request to read further data; in response to the read request, send, from the first virtual processor to the second virtual processor, a request for further metadata; receive, at the first virtual processor from the second virtual processor, the further metadata comprising an identifier of a third virtual processor; and send, from the first virtual processor to the third virtual processor, a request for storage location information of the further data (paragraph 142, a request from a first virtual processor, (paragraph 344 and 404) to read data from a second node, the hyper-kernel indirectly serves to redirect the request to a third node, and then sends further data back to the first node).
Regarding claim 17, Nassi teaches, A system comprising: a cluster of computing nodes that execute respective virtual processors to manage access of data at a shared storage system, wherein a first virtual processor is executable in a first computing node of the cluster of computing nodes to: receive, at the first virtual processor, a read request to read data; in response to the read request, send, from the first virtual processor to a second virtual processor executable in a second computing node of the cluster of computing nodes, a request for metadata; receive, at the first virtual processor from the second virtual processor, the metadata comprising an identifier of a third virtual processor; send, from the first virtual processor to the third virtual processor, a request for storage location information of the data; receive, at the first virtual processor from the third virtual processor responsive to the request for the storage location information of the data, response information; and perform a read of the data based on the response information (paragraph 142, a request from a first virtual processor, (paragraph 344 and 404) to read data from a second node, the hyper-kernel indirectly serves to redirect the request to a third node, and then sends further data back to the first node).
Regarding claim 18, Nassi teaches, The system of claim 17, wherein the response information includes the storage location information of the data, and wherein the first virtual processor is executable in the first computing node to: retrieve, by the first virtual processor, the data from the shared storage system using the storage location information, the retrieved data received from the shared storage system without passing through the third virtual processor (paragraph 404, 405, a request for a piece of data in the node partitions to a secondary virtual processor, without needing to reach to a third).
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.
Claim(s) 8-11 and 19-20 is/are rejected under 35 U.S.C. 103 as being unpatentable over US 20180373561 A1 (Nassi et. al) as applied to claim 1-7, 16-18 above, and further in view of US 20240061603 A1 (Varghese et. al).
Regarding claim 8, Nassi teaches, The non-transitory machine-readable storage medium of claim 7.
However, Nassi does not teach, wherein the instructions upon execution cause the processing system to: in response to the request for metadata, add, by the second virtual processor, an entry to a commit structure to indicate that write of the data is in progress.
However, Varghese does not teach, wherein the instructions upon execution cause the processing system to: in response to the request for metadata, add, by the second virtual processor, an entry to a commit structure to indicate that write of the data is in progress (paragraph 26, 27, 50, 55, in response to the metadata request, recording in a journal that there is a write occurring).
It would be obvious before the filing date of this application to combine the technology of Nassi, which teaches memory management done by the vCPUs (paragraphs 344, 347), with the recovery action of Varghese, under the rational of use of a known technique to improve similar devices in the same way, See MPEP 2143. Both technologies are able to perform memory management. In Nassi, it teaches that each node has a vCPU, that is able to do memory management, and has access to the metadata necessary to do so. Likewise, Varghese teaches memory management, without discussing strict structure of said memory manager (see paragraph 68), this also access metadata necessary for accessing memory.
Regarding claim 9, Nassi teaches, The non-transitory machine-readable storage medium of claim 1.
However, Nassi does not teach, wherein the instructions upon execution cause the processing system to: detect an anomaly condition; in response to detecting the anomaly condition, find an entry in the intent structure containing respective information indicating an intent to write a data object; send, from the first virtual processor to a target virtual processor of the plurality of virtual processors, a recovery indication comprising an identifier of the data object; receive, at the first virtual processor from the target virtual processor, a status relating to the data object; and perform, at the first virtual processor, a recovery action in response to the status.
Varghese teaches, wherein the instructions upon execution cause the processing system to: detect an anomaly condition; in response to detecting the anomaly condition, find an entry in the intent structure containing respective information indicating an intent to write a data object; send, from the first virtual processor to a target virtual processor of the plurality of virtual processors, a recovery indication comprising an identifier of the data object; receive, at the first virtual processor from the target virtual processor, a status relating to the data object; and perform, at the first virtual processor, a recovery action in response to the status (paragraph 71, 74, 79, the system realizes there is an mismatch in the recorded information, then finding information associated with that error by sending a request from the location of the problematic node, to the other nodes where the information is found, and a status that there was a success).
It would be obvious before the filing date of this application to combine the technology of Nassi, which teaches memory management done by the vCPUs (paragraphs 344, 347), with the recovery action of Varghese, under the rational of use of a known technique to improve similar devices in the same way, See MPEP 2143. Both technologies are able to perform memory management. In Nassi, it teaches that each node has a vCPU, that is able to do memory management, and has access to the metadata necessary to do so. Likewise, Varghese teaches memory management, without discussing strict structure of said memory manager (see paragraph 68), this also access metadata necessary for accessing memory.
Regarding claim 10, Varghese teaches, The non-transitory machine-readable storage medium of claim 9, wherein the recovery action comprises removing the entry from the intent structure (paragraph 3, removal of a storage location from metadata in response to the error, paragraph 71).
It would be obvious before the filing date of this application to combine the technology of Nassi, which teaches memory management done by the vCPUs (paragraphs 344, 347), with the recovery action of Varghese, under the rational of use of a known technique to improve similar devices in the same way, See MPEP 2143. Both technologies are able to perform memory management. In Nassi, it teaches that each node has a vCPU, that is able to do memory management, and has access to the metadata necessary to do so. Likewise, Varghese teaches memory management, without discussing strict structure of said memory manager (see paragraph 68), this also access metadata necessary for accessing memory.
Regarding claim 11, Varghese teaches, The non-transitory machine-readable storage medium of claim 9, wherein the recovery action comprises sending, from the first virtual processor to the target virtual processor, an indication to delete the data object (paragraph 71, a removal of dereferenced data location after the data is recovered).
It would be obvious before the filing date of this application to combine the technology of Nassi, which teaches memory management done by the vCPUs (paragraphs 344, 347), with the recovery action of Varghese, under the rational of use of a known technique to improve similar devices in the same way, See MPEP 2143. Both technologies are able to perform memory management. In Nassi, it teaches that each node has a vCPU, that is able to do memory management, and has access to the metadata necessary to do so. Likewise, Varghese teaches memory management, without discussing strict structure of said memory manager (see paragraph 68), this also access metadata necessary for accessing memory.
Regarding claim 19, Nassi teaches, The system of claim 17… and wherein the first virtual processor is executable in the first computing node to: establish a session between the first virtual processor and the third virtual processor; and retrieve, at the first virtual processor the data from the shared storage system through the third virtual processor in the session (paragraph 404, 405, a request for a piece of data in the node partitions to a secondary virtual processor, without needing to reach to a third).
However, Nassi does not teach, wherein the response information includes an indication that the data is stored in a write buffer and not yet flushed to the shared storage system.
Varghese teaches, wherein the response information includes an indication that the data is stored in a write buffer and not yet flushed to the shared storage system (paragraph 26, 27, 50, 55, in response to the metadata request, recording in a journal that there is a write occurring, thus the information is currently in a write buffer and hasn’t been completely written now).
It would be obvious before the filing date of this application to combine the technology of Nassi, which teaches memory management done by the vCPUs (paragraphs 344, 347), with the recovery action of Varghese, under the rational of use of a known technique to improve similar devices in the same way, See MPEP 2143. Both technologies are able to perform memory management. In Nassi, it teaches that each node has a vCPU, that is able to do memory management, and has access to the metadata necessary to do so. Likewise, Varghese teaches memory management, without discussing strict structure of said memory manager (see paragraph 68), this also access metadata necessary for accessing memory.
Regarding claim 20, Nassi teaches, A method comprising: receiving, at a first computing node, a write request, wherein the first computing node is part of a collection of multiple computing nodes, and wherein a plurality of virtual processors are executable in the multiple computing nodes to manage access of data in a shared storage system; in response to the write request (paragraph 43, 50, the nodes are set in a storage system, and the virtual processors, read and write requests to another node. The paragraph 344, 347, virtual processors individually are used for managing the data), selecting, by the first computing node, a first virtual processor from multiple virtual processors at the first computing node to handle the write request; sending, from the first virtual processor to a second virtual processor at a second computing node, a request for metadata stored by the second virtual processor, wherein the first and second virtual processors are part of the plurality of virtual processors (paragraph 404, a request from metadata stored in a node to a different node location); updating, by the first virtual processor, an intent structure in a nonvolatile memory with information indicating an intent to write data for the write request; in response to the metadata received at the first virtual processor from the second virtual processor, initiating a write of the data to cause storage of the data in the shared storage system (paragraph 404, the request includes information associated with the intent, paragraph 405, sending the requested metadata).
However, Nassi does not teach, responsive to an anomaly detected by the first virtual processor, performing an anomaly recovery using the intent structure at the first virtual processor.
Varghese teaches, responsive to an anomaly detected by the first virtual processor, performing an anomaly recovery using the intent structure at the first virtual processor (paragraph 71, and 79, the system realizes there is a mismatch in the recorded information, and completing a disaster recovery which modifies the metadata associated with valid storage locations, see paragraph 3).
It would be obvious before the filing date of this application to combine the technology of Nassi, which teaches memory management done by the vCPUs (paragraphs 344, 347), with the recovery action of Varghese, under the rational of use of a known technique to improve similar devices in the same way, See MPEP 2143. Both technologies are able to perform memory management. In Nassi, it teaches that each node has a vCPU, that is able to do memory management, and has access to the metadata necessary to do so. Likewise, Varghese teaches memory management, without discussing strict structure of said memory manager (see paragraph 68), this also access metadata necessary for accessing memory.
Claim(s) 12 is/are rejected under 35 U.S.C. 103 as being unpatentable over US 20180373561 A1 (Nassi et. al) as applied to claim 1-8, 16-18 above, and further in view of US 20170149924 A1 (Peterson et. al).
Regarding claim 12, Nassi teaches, The non-transitory machine-readable storage medium of claim 9.
However, Nassi does not teach, wherein the recovery action is responsive to the status indicating that a commit structure of the target virtual processor has an entry indicating that a write of the data object is in progress.
Peterson teaches, wherein the recovery action is responsive to the status indicating that a commit structure of the target virtual processor has an entry indicating that a write of the data object is in progress (paragraph 119-121, a metadata service that reports a write is occurring).
It would be obvious before the filing date of this application to combine the technology of Nassi, which teaches memory management done by the vCPUs (paragraphs 344, 347), with the recovery action of Peterson, under the rational of use of a known technique to improve similar devices in the same way, See MPEP 2143. Both technologies are able to perform memory management. In Nassi, it teaches that each node has a vCPU, that is able to do memory management, and has access to the metadata necessary to do so. Likewise, Peterson teaches a memory manager, without discussing strict structure of said memory manager (see paragraph 29), this also access metadata necessary for accessing memory.
Allowable Subject Matter
Claim 13-15 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
Any inquiry concerning this communication or earlier communications from the examiner should be directed to CHRISTIAN BAKHIT whose telephone number is (571)272-4314. The examiner can normally be reached Monday-Thursday: 6:30-5 PM.
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, LEWIS BULLOCK can be reached at (571) 272-3759. 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.
/C.M.B./Examiner, Art Unit 2199
/LEWIS A BULLOCK JR/Supervisory Patent Examiner, Art Unit 2199