Office Action 3: Notice of Allowance (2024-11-22)

CLAIMS:
AMENDMENTS TO THE CLAIMS

Please add or amend the claims to read as follows, and cancel without prejudice or disclaimer to resubmission in a divisional or continuation application claims indicated as cancelled:

1\. (Currently Amended) A storage system, comprising:storage nodes; and
compute nodes;
wherein the compute nodes comprise:
source compute nodes that are configured to (a) receive, from a user of the storage system, during source storage periods, write requests for storing content in the storage system, (b) write, during the source storage periods, the content into the storage nodes, and (c) avoid receiving the write requests during replication periods, wherein a configuration to avoid the receiving includes configuring the source compute nodes to remain non-operational during the replication periods; and
replication compute nodes that are configured to (a) read the content from the storage nodes during the replication periods, (b) participate in outputting the content to one or more data recovery sites during the replication periods, and (c) avoid participating in outputting the content to the one or more data recovery sites during the source storage periods, wherein a configuration to avoid the participating includes configuring the replication compute nodes to remain non- operational during the source storage periods.

2\. (Previously Presented) The storage system according to claim 1, wherein the source compute nodes are exposed to user computers that are external to the storage system, via an external network; wherein the replication compute nodes are not connected to the external network.

3\. (Previously Presented) The storage system according to claim 1, wherein the replication compute nodes are configured to participate in the outputting by reading the content from the storage nodes and sending the content to at least one of output ports or communication units of the storage system.

4\. (Previously Presented) The storage system according to claim 1, wherein the source compute nodes are in communication with a first network that is at least in part external to the storage system and wherein the replication compute nodes are in communication with the one or more data recovery sites via a second network that is at least in part external to the storage system and differs from the first network.

5\. (Previously Presented) The storage system according to claim 1, wherein the storage nodes are configured to undergo a reboot process at beginnings of the replication period.

6\. (Currently Amended) The storage system according to claim 1, comprising a controller that is configured to ivide the compute nodes of the storage system into two groups: (i) a replication compute node group that includes compute nodes that te-act as replication compute nodes, and (ii) a source compute node group that includes compute nodes that act er-as source compute nodes.

7\. (Previously Presented) The storage system according to claim 1, comprising a controller that is configured to deactivate the replication compute nodes during the source storage periods, deactivate the source compute nodes during the replication periods, activate replication compute nodes during the replication periods, and activate the source compute nodes during the source storage periods.

8\. (Previously Presented) The storage system according to claim 1, wherein at least some of the compute nodes comprise a deactivation unit for selectively activating and deactivating one or more compute nodes.

9\. (Currently Amended) The storage system according to claim 1, comprising a controller that is configured to control a length of the source storage periods and to control a length of the replication periods.

10\. (Currently Amended) The storage system according to claim 1, wherein at least some of the compute nodes are configured to control a length f the source storage periods and a length f the replication periods.

11\. (Currently Amended) A method for protecting a disaster recovery site, the method comprises:receiving by source compute nodes of a storage system, from a user of the storage system, during source storage periods, write requests for storing content in the storage system\[\[,\]\];
writing by source compute nodes, during the source storage periods, the content into storage nodes of the storage system;
avoiding participating in outputting of the content to one or more data recovery sites during the source storage periods, wherein the avoiding of the participating includes maintaining replication compute nodes of the storage system in a non-operational mode during the source storage periods;
reading the content by the replication compute nodes from the storage nodes during replication periods;
participating, by the replication compute nodes, in outputting the content to one or more data recovery sites during the replication periods;
avoiding receiving the write requests from the user during the replication periods,
wherein the avoiding of the receiving includes maintaining the source compute nodes in a non-operational mode during the replication periods.

12\. (Previously Presented) The method according to claim 11, wherein the source compute nodes are exposed to user computers that are external to the storage system, via an external network; wherein the replication compute nodes are not connected to the external network.

13\. (Previously Presented) The method according to claim 11, comprising participating, by the replication compute nodes, in the outputting by reading the content from the storage nodes and sending the content to at least one of output ports or communication units of the storage system.

14\. (Previously Presented) The method according to claim 11, wherein the source compute nodes are in communication with a first network that is at least in part external to the storage system and wherein the replication compute nodes are in communication with the one or more data recovery sites via a second network that is at least in part external to the storage system and differs from the first network.

15\. (Previously Presented) The method according to claim 11, comprising rebooting the storage nodes at beginnings of the replication period.

16\. (Currently Amended) The method according to claim 11, comprising dividing the compute nodes into two groups: (i) a replication compute node group that includes compute nodes that fe-act as replication compute nodes,and(ii) a source compute node group that includes compute nodes that act er\-as source compute nodes.

17\. (Previously Presented) The method according to claim 11, comprising deactivating, by a controller, replication compute nodes during the source storage periods; deactivating the source compute nodes during the replication periods, activating the replication compute nodes during the replication periods, and activating the source compute nodes during the source storage periods.

18\. (Previously Presented) The method according to claim 11, comprising selectively activating and deactivating one or more compute nodes by one or more deactivation units of one or more of the compute nodes.

19\. (Currently Amended) The method according to claim 11, controlling, by a controller, a length f the source storage periods and a length f the replication periods.

20\. (Currently Amended) The method according to claim 11, comprising controlling, by at least some of the compute nodes, a length of the source storage periods and a length f the replication periods.

21\. (Currently Amended) A non-transitory computer readable medium that stores instructions for:receiving by source compute nodes of a storage system, from a user of the storage system, during source storage periods, write requests for storing content in the storage system;
writing by source compute nodes, during the source storage periods, the content into storage nodes of the storage system;
avoiding participating in outputting the content to one or more data recovery sites during the source storage periods, wherein the avoiding of the participating in outputting includes maintaining replication compute nodes of the storage system in a non- operational mode during the source storage periods;
reading the content by the replication compute nodes from the storage nodes during replication periods;
participating, by the replication compute nodes, in outputting the content to one or more data recovery sites during the replication periods; and
avoiding the receiving of the write requests from the user during the replication periods, wherein the avoiding of the receiving includes maintaining the source compute nodes in a non-operational mode during the replication periods.

OFFICE ACTION:
DETAILED ACTION
Continued Examination Under 37 CFR 1.114
A request for continued examination under 37 CFR 1.114, including the fee set forth in 37 CFR 1.17(e), was filed in this application after final rejection.  Since this application is eligible for continued examination under 37 CFR 1.114, and the fee set forth in 37 CFR 1.17(e) has been timely paid, the finality of the previous Office action has been withdrawn pursuant to 37 CFR 1.114.  Applicant's submission filed on 14 November, 2024 has been entered.
2.	Claims 1-21 are pending.
Response to Arguments
3.	Applicant’s arguments with respect to the rejection of the pending claims over prior arts of record have been fully considered and are persuasive.
Allowable Subject Matter
4.	Claims 1-21 are allowed. No reason for allowance is needed as the record is clear in light of further search conducted, claim amendments and applicant’s arguments filed on 11/04/2024.
Conclusion
5.	Any comments considered necessary by applicant must be submitted no later than the payment
of the issue fee and, to avoid processing delays, should preferably accompany the issue fee. Such
submissions should be clearly labeled “Comments on statement of Reasons for Allowance”.

APPLICANT REBUTTAL: REMARKS
STATUS OF CLAIMS
Claims 1-21 are pending.
Claims 1-21 were rejected.
Claims 1, 6, 9-11, 16, 19, 20 and 21 and have been amended.
The support for the amendment can be found at least in paragraphs [0022], [0029]- [0030], [0036]-[0039], [0059]-[0060].
No new matter has been added.
35 USC 103 REJECTIONS
Claims 1-21 stand rejected under 35 USC 103 as being unpatentable over Zafman et al. (US Publication 2021/0191634), hereinafter "Zafman", in view of Grunwald (US publication 2021/0081432), hereinafter "Grunwald".
This rejection is traversed.
Claim 1 describes that source compute nodes of the storage system are configured to
(a) receive, from a user of the storage system,
durin
g
source stora
g
e periods,
write requests for storing content in the storage system, and are also configured to (c) avoid receiving write requests from the user
durin
g
replication periods
,
wherein a configuration to avoid receiving includes configuring the source compute nodes to remain non-operational during replication periods.
Claim 1 also recites that the replication compute nodes of the storage system are configured to: (b) participate in outputting the content to one or more data recovery sites
du
ring
the replication periods,
and are also configured to: (c) avoid participating in outputting the content to one or more data recovery sites
durin
g
the source stora
g
e periods,
wherein a configuration to avoid participating includes configuring the replication compute nodes to remain non-operational during the source storage periods.
Zafman does not teach time separation between the receprion of write requests and the replication to other storage nodes, and particularily does not teach that receiving of write requests from the user is only done during source storage periods, and is avoided during replication periods, while the participating in outputting the content to one or more data recovery sites is only done during replication periods, and is avoided during source storage periods.
Zafman further does not teach that this seperation is further obtained by having two types of compute nodes (source compute nodes and replication compute nodes), wherein the avioding includes: configuring the
source compute nodes
to remain non-operational
during replication periods
(the periods when the replication compute nodes participate in the outputing), and configuring the
replication compute nodes
to remain non-operational
during the source stora
g
e periods
(the periods when the source compute nodes receive write requests from the usre).
In the final office action, the Examiner cited Zafman's paragraphs describing intervals during timespan. If the meaning is to compare the intervals to the periods of claim 1, it is noted
that the paragraphs cited by the Examiner refer to intervals as points in time where the storage system adjusts the target number of replicas of the content. These intervals does not include two types of periods, wherein receiving write requests - is performed during source storage periods, and participate in outputting the content to one or more data recovery sites - is performed during replication periods.
The Examiner further cited Zafman's paragraphs describing a time period. However, the cited paragraph describes the difference between a synchronous replication and an asynchronous replication, wherein a synchronous replication includes updating all of the replicas synchronously so that they are all "immediately" consistent with one another, while an asynchronous replication includes updating the replicas over
a time period after receiving
a write request. Therefore, the term "time period" refers to
the amount of time
it takes to update a replica (or the time duration for updating the replica), in contrast to an immediate update that is done when using synchronous replication.
Therefore, neither Zafman's intervals (that are
points in time
of adjusting the target number) nor Zafman's time periods (that refer to
amount of time
it takes to update a replica) - can be compared to the two types of periods (source storage and replication periods) of claim 1, as explained above.
The Examiner asserts that the passive pod of Grunwald reads on "remain non- operational during the source storage periods". The terms active/passive described in paragraph [0355] referred to by the examiner, refers to the direction of the replication, i.e., the two sides of the replication link, where the active side is the sending side and the passive side is the receiving side. A target of a replication is actually operational as it needs to be in communication with the source pod, to receive data from the source pod and to store it in its repository.
Being
the receiving (passive) side of the replication
is different from
remaining non-operational during
replication periods or source storage periods.
The Examiner further refers to paragraph [0068], with respect to "operational". This paragraph describes the data protection technique "erasure coding", in which data is stored across a set of different locations, such as across storage nodes. So that if one storage node fails, the data can be reconstructed from other storage nodes. The term operational in this paragraph refers to data that remains available for input and output operations even though part of the data was stored in a failed storage node.
Data that is being available when only one storage node becomes non-operational
- is different from a storage node that
remains
non-operational during certain periods.
Neither Zafman nor Grunwald, alone or in combination, teach or suggest all the features of claim 1.
The arguments for claim 1 are applicable to independent claims 11 and 21.
As for claims 6 and 16, neither Zafman nor Grunwald teaches: dividing the compute nodes into two groups: (i) a replication compute node group that includes compute nodes that act as replication compute nodes, and (ii) a source compute node group that includes compute nodes that act as source compute nodes.
As for claims 9, 10, 19 and 20 - neither Zafman nor Grunwald teaches: controlling a length of the source storage periods and a length of the replication periods.
Conclusion