FINAL REJECTION
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
In the event the determination of the status of the application as subject to AIA 35 U.S.C. 102 and 103 (or as subject to pre-AIA 35 U.S.C. 102 and 103) is incorrect, any correction of the statutory basis (i.e., changing from AIA to pre-AIA ) for the rejection will not be considered a new ground of rejection if the prior art relied upon, and the rationale supporting the rejection, would be the same under either status.
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.
Claims 1, 7, 13, 16, 17, 29, and 20 are rejected under 35 U.S.C. 102(a)(1) as being anticipated by Bates et al. (2010/0199042).
Regarding claim 1:
Bates teaches:
A data storage system, comprising:
(i) one server that comprises at least one storage disk, a storage volume, and a redundant array of independent disks (RAID) 1 component [par 8, 9, 144 – “first host node is connected to the first online storage cloud via a network and comprises a server, a cloud array application and a local cache. The local cache comprises a buffer and a first storage volume,” “first storage volume data are transmitted to the first online cloud storage according to a RAID-1 replication algorithm,” “The Mirroring Module 600 replicates data across cloud locations. This is the equivalent of N-way raid-1 mirroring for higher availability in the event of problems at one or more cloud vendor. A cloud location is a segment of a cloud vendor account. Typically, each cloud account has a single segment and the mirroring is done across different accounts with different vendors”]
the one server configured to run an operating system designated to host data accessible and exposable over a data plane (DP) network [par 8, 44, 186 – “connected to the first online storage cloud via a network,” “ the architecture of cloud area software (CAS) 200 includes four major functional areas: operating system (OS), infrastructure, modules and interfaces. OS 205 provides support for operating system primitives such as threads, memory management, events, and semaphores, among others,” “Application CAS 200 is designed to run on a server in any number of operating systems]
(ii) at least one additional server that comprise at least one additional storage disk [fig 1, 2; par 8, 10 – “at least a first online storage cloud,” “ one or more online storage clouds”]; and
(iii) at least one orchestrator configured to interact with each of said server and designated to control a control plane (CP) of said DP network [par 44 – “the architecture of cloud area software (CAS) 200 includes four major functional areas: operating system (OS), infrastructure, modules and interfaces. OS 205 provides support for operating system primitives such as threads, memory management, events, and semaphores, among others. The infrastructure provides basic services such as statistics 204, printing 206, logging 203, clustering and authorization 800, metadata processing 223, error event handling 207, and message handling 208. The interfaces include all physical and logical external interfaces to the software 200. These include the user interface (UI) 202, I/O front end interface 210, and storage interface 240. The front end interface 210 includes the iSCSI interface 112 and a stack interface 113. The storage interface 240 includes the cloud storage interface 242 and local storage (LSI) block-type interfaces 240 and file system interfaces 246”];
wherein the one server is located remotely from the at least one additional server [fig 1, 2; par 8 – “connected to the first online storage cloud via a network”], and
wherein the RAID 1 component is configured to be utilized for a remote replication procedure while connecting the storage volume and at least one of the at least one additional storage disk [par 9 - “first storage volume data are transmitted to the first online cloud storage according to a RAID-1 replication algorithm”].
Regarding claim 7:
Bates teaches:
The system of claim 1, wherein the orchestrator is configured to only use parts of the media storage/s within the storage system [par 144 – “The Mirroring Module 600 replicates data across cloud locations. This is the equivalent of N-way raid-1 mirroring for higher availability in the event of problems at one or more cloud vendor. A cloud location is a segment of a cloud vendor account. Typically, each cloud account has a single segment and the mirroring is done across different accounts with different vendors.”].
Regarding claim 13:
Bates teaches:
The system of claim 1, wherein the orchestrator is configured to provide alerts and handle failures for remote block device connection between servers [par 179 – “Alerts are used when a serious condition has occurred that requires immediate action such as a node failure, back end storage failure, host logical volume being taken offline unexpectedly, etc.”].
Regarding claim 16:
Bates teaches:
The system of claim 1, wherein the communication between the servers and the orchestrator is done using a designated software component installed on each of said servers [par 44 – “the architecture of cloud area software (CAS) 200 includes four major functional areas: operating system (OS), infrastructure, modules and interfaces. OS 205 provides support for operating system primitives such as threads, memory management, events, and semaphores, among others. The infrastructure provides basic services such as statistics 204, printing 206, logging 203, clustering and authorization 800, metadata processing 223, error event handling 207, and message handling 208. The interfaces include all physical and logical external interfaces to the software 200. These include the user interface (UI) 202, I/O front end interface 210, and storage interface 240. The front end interface 210 includes the iSCSI interface 112 and a stack interface 113. The storage interface 240 includes the cloud storage interface 242 and local storage (LSI) block-type interfaces 240 and file system interfaces 246”].
Regarding claim 17:
Bates teaches:
The system of claim 1, wherein the server is configured to utilize a redundant array of independent disks (RAID) storage stack component (SSC) configured to provide data redundancy originated from multiple designated portions of the storage volume at multiple servers [par 9 – “first storage volume data are transmitted to the first online cloud storage according to a RAID-1 replication algorithm”].
Regarding claim 29:
Bates teaches:
The system of claim 1, wherein the operations on each server may be implemented, wholly or partially, by a data processing unit (DPU) [par 9 – the term data processing unit is given no special definition in the specification, thus the term is given its broadest reasonable definition, i.e. any form of unit that performs data processing. Bates teaches data processing performed to implement the operations, thus Bates necessarily teaches the BRI of a data processing unit].
Regarding claim 30:
The claim is rejected as the method of using the system of claim 1.
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.
The factual inquiries for establishing a background for determining obviousness under 35 U.S.C. 103 are summarized as follows:
1. Determining the scope and contents of the prior art.
2. Ascertaining the differences between the prior art and the claims at issue.
3. Resolving the level of ordinary skill in the pertinent art.
4. Considering objective evidence present in the application indicating obviousness or nonobviousness.
Claim 2 is rejected under 35 U.S.C. 103 as being unpatentable over Bates in view of Chatterjee et al. (8046548).
Regarding claim 2:
Bates teaches conducting remote replication using RAID 1.
Bates does not explicitly teach conducting remote synchronous replication using a resync bitmap of RAID 1.
Chatterjee teaches using a resync bitmap of RAID 1 for performing synchronous replication [col. 7 line 6-col. 8 line 57 – teaches using a gate bitmap in order to maintain write intent when operating in a replicated system, allowing for recovery from various failures in which a failure occurs prior to successful performance of data I/O in each system].
It would have been obvious to one of ordinary skill in the art prior to the effective filing date to combine the bitmap of Chatterjee with the remote replication of Bates.
One of ordinary skill in the art would have been motivated to make the combination because Chatterjee teaches that the bitmap can be used to regain consistency in order to recover from various types of failure scenarios [col. 7 line 54-col. 8 line 57].
Allowable Subject Matter
Claims 3-5, 8-11, 18-20 and 22 are objected to as being dependent upon a rejected base claim, but would be allowable if rewritten in independent form including all of the limitations of the base claim and any intervening claims.
Response to Arguments
Applicant's arguments filed 4/1/26 have been fully considered but they are not persuasive.
Applicant argues, on page 7, that “A key aspect of the claimed invention is the use of storage stack components within the servers themselves and their coordination under the control of an orchestrator, wherein the orchestrator is configured to control and coordinate such storage stack components across multiple servers. For example, the present specification discloses that "an orchestrator.. .may manage this operation" ([0355]) and that "the storage stack is used for synchronous replication" ([0356]), thereby confirming that replication functionality is achieved through coordinated operation of storage stack components across servers, under the control of an orchestration. This feature is neither taught nor suggested by Bates.
With reference to amended claim 1 (previously claim 6), the Office Action cites paragraph [0044] of Bates and asserts that this passage discloses an "orchestrator." Applicant respectfully disagrees. (Office Action, p. 4). Applicant respectfully disagrees. Paragraph [0044] of Bates describes a software architecture comprising internal functional components, such as caching, replication, mirroring, and compression modules, which operate within a single system and perform storage-related functions directly. However, Bates does not disclose, teach, or suggest an orchestrator as claimed - namely, an entity that interacts with a plurality of servers and controls their operation via a control plane. In particular, Bates does not disclose: (i) coordination of storage stack components across multiple independent servers; (ii) control of native storage stack components at the server level; or (iii) a separation between a control plane managed by an orchestrator and a data plane executed by the servers. Rather, the components described in Bates execute storage functions within a local node, without orchestration of storage stack components across multiple servers. Accordingly, Bates fails to disclose or suggest the claimed orchestrator and therefore does not anticipate or render obvious the subject matter of amended claim 1.”
The examiner respectfully disagrees. The claim recites an orchestrator that interacts with each server and controls a control plane of the data plane network. The claim, then, requires some element performing orchestration functions that is connected to each server and provides control functions in the data plane network. The citation from Bates discloses a software architecture that connects to each cloud location that replicates data. The software architecture is responsible for connecting to the cloud locations and providing all services, including, among others, mirroring, remote replication, caching, encryption and compression and all communications and process across the network. This meets the broadest reasonable interpretation of an orchestrator connected to each server and designated to control a control plane of a data plane network.
Applicant argues that Bates cannot disclose the claimed orchestrator because Bates does not disclose the following:
coordination of storage stack components across multiple independent servers; (ii) control of native storage stack components at the server level; or (iii) a separation between a control plane managed by an orchestrator and a data plane executed by the servers.
It is noted that the features upon which applicant relies are not recited in the rejected claim. Although the claims are interpreted in light of the specification, limitations from the specification are not read into the claims. See In re Van Geuns, 988 F.2d 1181, 26 USPQ2d 1057 (Fed. Cir. 1993). The examiner suggests applicant include such features in the claim recitation in if applicant relies on them to distinguish over the Bates reference.
Applicant argues, on page 8, that “Furthermore, the Examiner alleges that paragraph [0009] of Bates discloses the claimed RAID 1 replication procedure. Applicant respectfully disagrees. The cited paragraph describes a method in which buffer blocks are processed and transmitted to cloud storage, and states that "the one or more buffer blocks with the encrypted first storage volume data are transmitted to the first online cloud storage according to a RAID-1 replication algorithm," and that metadata is similarly transmitted according to a RAID-1 replication algorithm. However, this disclosure relates to a data copying technique applied during transmission of cached data, rather than a RAID 1 component implemented as part of a storage system. It would be well appreciated by a person skilled in the art that a RAID algorithm defines a method or rule for duplicating or distributing data, whereas a RAID component is implemented as part of a storage system - such as within the operating system storage stack - and manages multiple storage devices as part of a RAID array. In the cited paragraph, the "RAID-1 replication algorithm" is applied to buffer blocks that are copied and transmitted to cloud storage. In other words, the cloud simply receives duplicate copies of the data and acts only as a destination for that data. This is fundamentally different from a RAID 1 system, in which write operations are performed across multiple storage devices forming part of a RAID array managed within the storage system itself, including configurations in which one of the storage devices is remote. Accordingly, Bates does not disclose: (i) a RAID 1 component implemented within a server storage system; or (ii) a RAID array spanning multiple storage devices or servers. Rather, Bates discloses a process in which data is merely copied to cloud storage using a RAID-like technique. Therefore, the cited paragraph fails to teach or suggest the claimed subject matter.”
The examiner respectfully disagrees. As the reference explicitly states, “storage volume data are transmitted to the first online cloud storage according to a RAID-1 replication algorithm” and “the mirroring module replicates data across cloud locations, the equivalent of N-way RAID-1 mirroring for higher availability in the event of problems.” Thus one of ordinary skill would recognize that Bates does indeed teach a RAID-1 component. The plain meaning of a component is nothing more than a part or element of a whole. Thus a RAID-1 component is understood by one of ordinary skill to be some element that operates according to a RAID-1 protocol. The Bates reference explicitly states that the volume data are transmitted according to a RAID-1 replication algorithm and that the replication across cloud locations (which are by definition remote) is the equivalent of N-way RAID-1 mirroring. Thus Bate explicitly teaches an element operating according to RAID-1 algorithms. One of ordinary skill would readily understand this to meet the plain meaning of a RAID-1 component that is utilized for a remote replication procedure as recited in the claim.
The rejection is maintained.
Applicant’s arguments regarding claims 2, 7, 13, 16, 17, 29 and 30 rely on the alleged patentability of claim 1 and thus stand or fall with the arguments in regard to claim 1. The arguments concerning claim 1 were not persuasive. Those rejections are likewise maintained.
Conclusion
THIS ACTION IS MADE FINAL. Applicant is reminded of the extension of time policy as set forth in 37 CFR 1.136(a).
A shortened statutory period for reply to this final action is set to expire THREE MONTHS from the mailing date of this action. In the event a first reply is filed within TWO MONTHS of the mailing date of this final action and the advisory action is not mailed until after the end of the THREE-MONTH shortened statutory period, then the shortened statutory period will expire on the date the advisory action is mailed, and any nonprovisional extension fee (37 CFR 1.17(a)) pursuant to 37 CFR 1.136(a) will be calculated from the mailing date of the advisory action. In no event, however, will the statutory period for reply expire later than SIX MONTHS from the mailing date of this final action.
Any inquiry concerning this communication or earlier communications from the examiner should be directed to MARC M DUNCAN whose telephone number is (571)272-3646. The examiner can normally be reached M-F: 730am-9am, 10am-4:30pm.
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, Bryce Bonzo can be reached at 571-272-3655. 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.
/MARC DUNCAN/Primary Examiner, Art Unit 2113