DETAILED ACTION
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 .
Response to Arguments
Applicant’s arguments, see 35 USC §103 Rejection of the Claims, filed May 22, 2026, with respect to the rejection of claims 1 – 14 under 35 U.S.C. § 103 have been fully considered and are persuasive. The claims have been amended to include subject matter not taught by the relied upon references. Therefore, the rejection has been withdrawn. However, upon further consideration, a new ground of rejection is made in view of new art found in a search of the prior art prompted by amendments.
Applicant’s arguments with respect to the rejection of claim 15 under 35 U.S.C. § 103 have been fully considered and are persuasive. The claim has been amended to recite previously indicated allowable subject matter. The rejection of claim 15 has been withdrawn.
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.
(a)(2) the claimed invention was described in a patent issued under section 151, or in an application for patent published or deemed published under section 122(b), in which the patent or application, as the case may be, names another inventor and was effectively filed before the effective filing date of the claimed invention.
Claims 1 – 7 are rejected under 35 U.S.C. 102(a)(1) and 102(a)(2) as being anticipated by Bunker et al. (US Patent 11,803,453), hereinafter Bunker.
Regarding claim 1, Bunker teaches a computer-implemented method to maintain read write consistency (Column 72 lines 33 – 36, synchronized replicated clustering important ensures that fault handling does not result in inconsistencies) between a primary copy of data of a primary storage site (Column 73 line 55, a first storage system 1102; Column 75 line 45, storage system 1214) and a secondary copy of data of a secondary storage site (Column 73 line 56, a second storage system 1104; Column 75 line 45, storage system 1224) of a distributed storage system (Column 9 lines 9 – 18, the storage system may be distributed; Fig. 11, the storage systems 1102 and 1104 are separate; Fig. 12, the storage systems 1214 and 1224 are separate), the method comprising:
establishing bi-directional synchronous replication between one or more members of a first storage node of the primary storage site and one or more members of a second storage node of the secondary storage site (Column 73 lines 56 and 57 and Column 75 line 46, two storage systems form a two-member pod that synchronously replicates a dataset) with each storage node having read/write access (Column 74 lines 21 – 43, each storage system can receive I/O operations, and apply those requests to the synchronized database; Column 75 lines 57 – 61, the dataset can be accessed through either storage system) while maintaining zero recovery point objective (RPO) (Column 22 lines 39 – 41, in some embodiments, storage units can fail with no data loss; Column 31 line 58 – Column 32 line 19, protection techniques may be used to prevent data loss in the event of failure) and zero recovery time objective (RTO) (Column 20 lines 57 – 59, the system uses a persistent messaging system that allows the system to continue serving requests despite failures);
receiving, with the primary storage site, a first write operation (Op) from a client device (Column 74 lines 21 – 43, the queued I/O requests; Column 76 lines 16/17, the I/P requests from a host);
writing the first write Op to a primary copy of data at the primary storage site (Column 74 lines 21 – 43, processing and applying the received I/O requests to the dataset) and logging the first write Op in an op log journal (Column 11 lines 9 – 24, the storage controllers may journal in-progress operations to assure they are not lost; Column 73 lines 28 – 53, in the case of a communication failure, “each storage system continues to queue its received I/O requests”);
terminating the first write Op due to a network failure, which causes a replication relationship to be out of sync, when attempting to replicate the first write Op to the secondary storage site (Column 74 lines 44 – 49, the data communication link between the storage system fails, and the storage systems stop processing I/O requests; Column 77 lines 48 – 53, upon identifying a fault in data communication between storage systems, the storage system pause processing of I/O operations and initiate recovery);
determining a heartbeat failure when a time period for receiving a heartbeat message at the secondary storage site from the primary storage site expires (Column 77 lines 31 – 36, identifying a communications fault between two systems may be based on a failure to receive a synchronous replication lease or other heartbeat communication from another storage system; Column 77 lines 41 – 47, a synchronization lease may expire indicating a fault in data communications) with the heartbeat message indicating normal operating conditions (Column 72 lines 48 – 64, the synchronous replication lease and/or heartbeat are “expected communication”, indicating that they indicate normal operating conditions) and being sent periodically (Column 77 lines 45 – 47, a new synchronous replication lease is expected to be established when the previous one elapses, i.e. it is expected to be sent periodically);
aborting a replication engine and activating a fence on the second storage node of the secondary storage site to disallow read/write access on the second storage node in response to the heartbeat failure (Column 74 lines 44 – 49 and Column 77 lines 48 – 53, the storage systems both stop processing I/O requests in response to detecting the data communication failure);
in response to network recovery, generating and sending a reconciliation request from the secondary storage site to the primary storage site to trigger a resynchronization process (Column 80 lines 5 – 24, the two storage systems must reestablish communication to initiate a recovery operation. This constitutes a request between the two sites) between the Op log journal of the primary storage site and an Op log journal of the secondary storage site to identify and replay any inflight write Ops (Column 80 lines 41 – 55, once the data communications failure is resolved, “the storage systems undergo a recovery process in which the differences between the local copies of the dataset are reconciled by concurrent updates to the dataset for in-progress write operations that may have been partially or completely applied … The recovery process may also include processing I/O requests that had already been queued at the time of the fault”) before the fence on the second storage node is deactivated (Column 80 lines 53 – 63, the two storage systems maintain a transitional state during their recovery operation until the recovery completes, “the transitional state is maintained until the storage systems catch up to one another”. Column 78 lines 21 – 24, during the transitional state, I/O requests directed to the dataset are refused, i.e. the fence has not yet been deactivated).
Regarding claim 2, Bunker teaches the computer-implemented method of claim 1, further comprising:
in response to the reconciliation request, initiating a reconciliation process (Column 80 lines 5 – 24, the two storage systems must reestablish communication to initiate a recovery operation) between the Op log journal of the primary storage site and an Op log journal of the secondary storage site (Column 80 lines 41 – 55, once the data communications failure is resolved, “the storage systems undergo a recovery process in which the differences between the local copies of the dataset are reconciled by concurrent updates to the dataset for in-progress write operations that may have been partially or completely applied … The recovery process may also include processing I/O requests that had already been queued at the time of the fault”) to ensure the primary storage site and secondary storage site have the same operations and data to maintain read write consistency between a primary copy of data of a primary storage site and a secondary copy of data of a secondary storage site (Column 80 lines 53 – 63, the recovery operation completes when the local copies of the data on each storage system have been reconciled and catch up to one another).
Regarding claim 3, Bunker teaches the computer-implemented method of claim 2, further comprising:
in response to completion of the reconciliation process, deactivating a fence to allow read/write operations on the primary storage site (Column 81 lines 55 – 59, upon recovering from the fault, the access state transitions from the fenced-off transitional state to the active state); and
deactivating a fence to allow read/write operations on the secondary storage site (Column 81 lines 55 – 59, upon recovering from the fault, the access state transitions from the fenced-off transitional state to the active state).
Regarding claim 4, Bunker teaches the computer-implemented method of claim 2, further comprising:
in response to the reconciliation process for a resynchronization of the replication relationship between the one or more members of the first storage node and one or more members of the second storage node, retrying the first write Op at the primary storage site (Column 80 lines 41 – 55, once the data communications failure is resolved, “the storage systems undergo a recovery process in which the differences between the local copies of the dataset are reconciled by concurrent updates to the dataset for in-progress write operations that may have been partially or completely applied”);
writing the first write op to the primary copy of data at the primary storage site and (Column 74 lines 21 – 43, processing and applying the received I/O requests to the dataset) and logging the first write Op in a journal on the primary storage site (Column 11 lines 9 – 24, the storage controllers may journal in-progress operations to assure they are not lost);
replicating the first write Op to the secondary storage site to complete the reconciliation (Column 75 lines 61 – 66, write operations to a dataset must be performed on all of the other storage systems to maintain synchronization; Column 80 lines 41 – 55, write operations are reconciled);
writing the first write Op and logging the first write Op in a journal on the secondary storage site (Column 11 lines 9 – 24, the storage controllers may journal in-progress operations to assure they are not lost);
sending a replication acknowledgement from the secondary storage site to the primary storage site (Column 74 lines 28 – 32, the first storage system receives acknowledgement that the modification has been applied; Column 74 lines 39 – 43 teaches an acknowledgement in the opposite direction from the primary to the secondary site);
responding to the client device with a successful writing of the first write Op after successfully writing the first write Op to the primary and secondary storage sites regardless of whether the primary storage site or the secondary storage site initially receives the first write Op to maintain consistency across the primary storage site and the secondary storage site (Column 74 lines 28 – 32 and 39 – 43, when the storage systems receive an acknowledgement from their counterpart, they send an acknowledgement to the host(s). Lines 39 – 43 teaches the second storage system receives an I/O operation from its host, but it results in the first storage system indicating to its host that the request is complete, therefore the notification of a successful request is regardless of the site which receives the I/O operation);
receiving a dependent second write Op at the primary storage site that is dependent upon the first write Op (Column 76 lines 1 – 8, some groups of operations must be executed in the same order, or as if they were executed in the same order, on all storage systems. That is, there may be operations that are dependent on previous operations executed before them);
replicating the dependent second write Op to the secondary storage site (Column 75 lines 61 – 66, write operations to a dataset must be performed on all of the other storage systems to maintain synchronization; Column 80 lines 41 – 55, write operations are reconciled);
writing the dependent second write op and logging in a journal on the secondary storage site (Column 11 lines 9 – 24, the storage controllers may journal in-progress operations to assure they are not lost);
sending a replication acknowledgement from the secondary storage site to the primary storage site (Column 74 lines 28 – 32, the first storage system receives acknowledgement that the modification has been applied); and
responding to the client with a successful writing of the second write op (Column 74 lines 28 – 32 and 39 – 43, when the storage systems receive an acknowledgement from their counterpart, they send an acknowledgement to the host).
Regarding claim 5, Bunker teaches the computer-implemented method of claim 1, further comprising:
responding to the write Op with a failure status to indicate that the write Op was not successfully replicated to the secondary storage site (Column 78 lines 24 – 28, when the storage is in a transitional state, the storage controller may respond to I/O requests such that the storage system appears busy or in-progress, or prompt a retry).
Regarding claim 6, Bunker teaches the computer-implemented method of claim 1, wherein establishing bi-directional synchronous replication between one or more members of a storage node of the primary storage site and one or more members of a storage node of the secondary storage site comprises:
initiating a data replication relationship between the one or more members of the first storage node and the one or more members of the second storage node (Column 75 lines 45 – 50, the two storage systems are made to form a pod that synchronously replicate a dataset; Column 77 lines 41 – 44, the systems may establish a synchronization lease) while maintaining zero RPO (Column 22 lines 39 – 41, in some embodiments, storage units can fail with no data loss; Column 31 line 58 – Column 32 line 19, protection techniques may be used to prevent data loss in the event of failure) and zero RTO (Column 20 lines 57 – 59, the system uses a persistent messaging system that allows the system to continue serving requests despite failures).
Regarding claim 7, Bunker teaches the computer-implemented method of claim 1, further comprising:
aborting a replication engine at the primary storage site (Column 72 lines 42 – 45, if a storage system cannot be certain it is in sync, it may stop processing new incoming requests; Column 74 lines 44 – 49 and Column 77 lines 48 – 53, the storage systems both stop processing I/O requests in response to detecting the data communication failure); and
activating a fence to disallow read/write access to the first storage node of the primary storage site (Column 80 lines 53 – 63, the two storage systems maintain a transitional state during their recovery operation until the recovery completes, “the transitional state is maintained until the storage systems catch up to one another”; Column 74 lines 44 – 49 and Column 77 lines 48 – 53, the storage systems both stop processing I/O requests in response to detecting the data communication failure) due to an Op timeout when no acknowledgement is received for the write Op during a timeout period of the Op timeout (Column 77 lines 31 – 36, identifying a communication failure may be based on a failure of the other storage system to acknowledge receipt of a transmission; Column 80 lines 30 – 32, the communication fault can be identified based on the paired storage system not providing an acknowledgement within a predetermined period of time).
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 8 – 14 are rejected under 35 U.S.C. 103 as being unpatentable over Bunker in view of Grunwald et al. (US Patent Application Publication 2019/0356609), hereinafter Grunwald.
Regarding claim 8, Bunker teaches a non-transitory computer-readable storage medium embodying a set of instructions (Column 53 line 30 – Column 54 line 7), which when executed by one or more processing resources of a distributed storage system (Column 9 lines 9 – 18, the storage system may be distributed) having a primary storage site (Column 73 line 55, a first storage system 1102; Column 75 line 45, storage system 1214) and a secondary storage site (Column 73 line 56, a second storage system 1104; Column 75 line 45, storage system 1224), cause the one or more processing resources to:
establish bi-directional synchronous replication between one or more members of a first storage node of the primary storage site and one or more members of a second storage node of the secondary storage site (Column 73 lines 56 and 57 and Column 75 line 46, two storage systems form a two-member pod that synchronously replicates a dataset) with each storage node having read/write access (Column 74 lines 21 – 43, each storage system can receive I/O operations, and apply those requests to the synchronized database; Column 75 lines 57 – 61, the dataset can be accessed through either storage system) while maintaining zero recovery point objective (RPO) (Column 22 lines 39 – 41, in some embodiments, storage units can fail with no data loss; Column 31 line 58 – Column 32 line 19, protection techniques may be used to prevent data loss in the event of failure) and zero recovery time objective (RTO) (Column 20 lines 57 – 59, the system uses a persistent messaging system that allows the system to continue serving requests despite failures);
receive, with the primary storage site, a first write operation (Op) from a client device (Column 74 lines 21 – 43, the queued I/O requests; Column 76 lines 16/17, the I/P requests from a host);
write the first write Op to a primary copy of data at the primary storage site (Column 74 lines 21 – 43, processing and applying the received I/O requests to the dataset) and log the first write Op in an op log journal (Column 11 lines 9 – 24, the storage controllers may journal in-progress operations to assure they are not lost; Column 73 lines 28 – 53, in the case of a communication failure, “each storage system continues to queue its received I/O requests”);
terminate the first write Op due to a network failure, which causes a replication relationship to be out of sync, when attempting to replicate the first write Op to the secondary storage site (Column 74 lines 44 – 49, the data communication link between the storage system fails, and the storage systems stop processing I/O requests; Column 77 lines 48 – 53, upon identifying a fault in data communication between storage systems, the storage system pause processing of I/O operations and initiate recovery);
determine a heartbeat failure when a time period for receiving a heartbeat message at the secondary storage site from the primary storage site expires (Column 77 lines 31 – 36, identifying a communications fault between two systems may be based on a failure to receive a synchronous replication lease or other heartbeat communication from another storage system; Column 77 lines 41 – 47, a synchronization lease may expire indicating a fault in data communications) with the heartbeat message indicating normal operating conditions (Column 72 lines 48 – 64, the synchronous replication lease and/or heartbeat are “expected communication”, indicating that they indicate normal operating conditions) and being sent periodically (Column 77 lines 45 – 47, a new synchronous replication lease is expected to be established when the previous one elapses, i.e. it is expected to be sent periodically);
abort a replication engine and activating a fence on the second storage node of the secondary storage site to disallow read/write access on the second storage node in response to the heartbeat failure (Column 74 lines 44 – 49 and Column 77 lines 48 – 53, the storage systems both stop processing I/O requests in response to detecting the data communication failure);
generate and send a reconciliation request from the secondary storage site to the primary storage site due to the network failure for a resynchronization of the replication relationship between the one or more members of the first storage node and one or more members of the second storage node (Column 73 lines 6 – 9, a storage system may attempt to resolve a communication disruption in data by communicating with other storage systems; Column 80 lines 5 – 24, the two storage systems must reestablish communication to initiate a recovery operation. This constitutes a request between the two sites);
fail to send the reconciliation request due to the network being non-operational (Column 73 lines 16 – 21, the efforts to resolve the disruption may fail; Column 80 lines 12 – 24, a recovery operation requires the reestablishment of communication between storage systems, if the storage systems cannot reestablish communication, the recovery fails).
Bunker further teaches that the processing resources are to generate and send a consensus request from the primary storage site to a mediator at a third site to determine a primary role for serving input/output (I/O) operations for the primary storage site or the secondary storage site (Column 73 lines 16 – 21, a mediation or quorum protocol may be used to determine which of the storage systems remain online and continue to service I/O; Column 74 lines 55 – 60, the first and second race to a mediator to determine which will service I/O) to avoid a split-brain scenario when the primary and secondary storage sites are temporarily unable to communicate with each other (Column 72 lines 33 – 47, an important part of synchronous replicated clustering is that the fault handling does not create inconsistencies, and only one storage system is allowed to process I/O requests during failure to prevent these inconsistencies).
Bunker does not expressly teach that the processing resources are to, upon operation and connectivity of the network being restored, generate and send a consensus request from the primary storage site to a mediator at a third site to determine a primary role for serving input/output (I/O) operations for the primary storage site or the secondary storage site to avoid a split-brain scenario when the primary and secondary storage sites are temporarily unable to communicate with each other. Bunker only explicitly describes a scenario in which the network connection between storage sites fails, but the network connection between the storage sites and the mediator does not.
Grunwald teaches to, upon operation and connectivity of the network being restored (Paragraph 0263, a mediator service may become unavailable at the time of a network or storage system fault. Operation of a replication pod may pause until the mediator system becomes available and/or the network is repaired and communication is restored), generate and send a consensus request from the primary storage site to a mediator at a third site to determine a primary role for serving input/output (I/O) operations for the primary storage site or the secondary storage site (Paragraph 0241, the storage systems contact a mediation service) to avoid a split-brain scenario when the primary and secondary storage sites are temporarily unable to communicate with each other (Paragraph 0177, mediation avoids split-brain situations; Paragraphs 0145 – 0150, it must be ensured that the storage systems agree to avoid split brain).
It would have been obvious to one of ordinary skill in the art before the effective filing date of the invention that the consensus request of Bunker would be re-attempted upon operation and connectivity of the network being restored, as taught by Grunwald. It would have been obvious because, if a mediator cannot be reached while the network is down, it would be more likely to succeed once the network is back up. It would be clear to one of ordinary skill in the art that the network connection between storage sites and the mediator can also fail. One of ordinary skill in the art would understand that, in such a scenario, an attempt to contact the mediator can only be performed after the connection to the mediator is restored if the mediation is intended to succeed. Furthermore, it would have been obvious to combine Bunker with Grunwald in particular because they are directed to aspects of the same family of storage systems (Bunker and Grunwald share an applicant, inventor, and multiple parts of their specification). One of ordinary skill in the art would be driven to assume the mediators of Bunker would share functionality with the mediators of Grunwald.
Regarding claim 9, Bunker in view of Grunwald teaches the non-transitory computer-readable storage medium of claim 8, wherein the instructions further cause the one or more processing resources to:
vote, with the mediator and primary storage site, to grant consensus to assign the primary role for serving I/O operations to the primary storage site (Bunker Column 20 lines 30/31, consensus protocols include Paxos. The ordinary meaning of Paxos in the art is of the Paxos voting protocol. Bunker Column 73 lines 16 – 21, a quorum protocol is used to determine which storage sites stay only and continue to service I/O).
Regarding claim 10, Bunker in view of Grunwald teaches the non-transitory computer-readable storage medium of claim 8, wherein the instructions further cause the one or more processing resources to:
allow read/write operations on the primary storage site (Bunker Column 78 lines 18 – 21, while the access state is in an active state, I/O operations on the storage system are processed).
Regarding claim 11, Bunker in view of Grunwald teaches the non-transitory computer-readable storage medium of claim 8, wherein the instructions further cause the one or more processing resources to:
generate and send, with the secondary storage site, a resynchronization request to the primary storage site (Bunker Column 80 lines 5 – 24, the two storage systems must reestablish communication to initiate a recovery operation. This constitutes a request between the two sites).
Regarding claim 12, Bunker in view of Grunwald teaches the non-transitory computer-readable storage medium of claim 8, wherein the instructions further cause the one or more processing resources to:
perform resynchronization between the primary storage site and secondary storage site using one or more snapshots of the one or more members of the first storage node of the primary storage site (Bunker column 32 lines 11 – 19, data replication and data snapshot techniques can be used in the storage system; Bunker column 73 lines 21 – 27, when a storage system is restored, it may recover from the fault by resynchronizing its local copy with the synchronously replicated dataset of the other storage systems).
Regarding claim 13, Bunker in view of Grunwald teaches the non-transitory computer-readable storage medium of claim 12, wherein the instructions further cause the one or more processing resources to:
upon completing resynchronization, allow read/write operations on the secondary storage site (Bunker Column 81 lines 55 – 59, upon recovering from the fault, the access state transitions from the fenced-off transitional state to the active state which takes I/O operations).
Regarding claim 14, Bunker in view of Grunwald teaches the computer-implemented method of claim 12, wherein establishing bi-directional synchronous replication between one or more members of a storage node of the primary storage site and one or more members of a storage node of the secondary storage site comprises:
initiating a data replication relationship between the one or more members of the first storage node and the one or more members of the second storage node (Bunker Column 75 lines 45 – 50, the two storage systems are made to form a pod that synchronously replicate a dataset; Bunker Column 77 lines 41 – 44, the systems may establish a synchronization lease) while maintaining zero RPO (Bunker Column 22 lines 39 – 41, in some embodiments, storage units can fail with no data loss; Bunker Column 31 line 58 – Column 32 line 19, protection techniques may be used to prevent data loss in the event of failure) and zero RTO (Bunker Column 20 lines 57 – 59, the system uses a persistent messaging system that allows the system to continue serving requests despite failures).
Allowable Subject Matter
Claims 15 – 18 and 20 allowed.
The following is a statement of reasons for the indication of allowable subject matter: Claim 15 has been amended to include the previously indicated allowable subject matter of the now-cancelled claim 19. Claims 16 – 18 were previously indicated as allowable, and have not been amended such that their scope has broadened. Claim 20 is allowed by virtue of dependency on the now-allowed claim 15.
Conclusion
The prior art made of record and not relied upon is considered pertinent to applicant's disclosure.
Valan et al. (US Patent Application Publication 2022/0317896) teaches several limitations regarding the functions of the mediator in replication. It is not relied upon as it partially shares inventors with the present application.
Watanabe (US Patent Application Publication 2003/0177321) teaches a method for managing data resynchronization after communications between a primary and secondary storage are broken. It is not relied upon because it is limited in scope. Furthermore, because of its early filing date, it does not recite certain structural claim language such as “non-transitory computer-readable media”.
Any inquiry concerning this communication or earlier communications from the examiner should be directed to BRYAN PAI SONG HUANG whose telephone number is (571)272-0510. The examiner can normally be reached Monday - Friday 11:30 AM - 8:30 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, ASHISH THOMAS can be reached at (571) 272-0631. 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.
/B.P.H./Examiner, Art Unit 2114
/ASHISH THOMAS/Supervisory Patent Examiner, Art Unit 2114