Patents by Inventor Ching-Yuk Paul Ngan
Ching-Yuk Paul Ngan has filed for patents to protect the following inventions. This listing includes patent applications that are pending as well as patents that have already been granted by the United States Patent and Trademark Office (USPTO).
-
Patent number: 10523751Abstract: One or more techniques and/or computing devices are provided for implementing synchronous replication. For example, a synchronous replication relationship may be established between a first storage controller hosting local storage and a second storage controller hosting remote storage (e.g., replication may be specified at a file, logical unit number (LUN), or any other level of granularity). Data operations and offloaded operations may be implemented in parallel upon the local storage and the remote storage. Error handling operations may be implemented upon the local storage and implement in parallel as a best effort on the remote storage, and a reconciliation may be performed to identify any data divergence from the best effort parallel implementation. Storage area network (SAN) operations may be implemented upon the local storage, and upon local completion may be remotely implemented upon the remote storage.Type: GrantFiled: December 21, 2017Date of Patent: December 31, 2019Assignee: NetApp Inc.Inventors: Paul Anthony Powell, Akhil Kaushik, Srikumar Natarajan, Ching-Yuk Paul Ngan
-
Patent number: 10496676Abstract: Synchronization metadata is read from non-volatile storage. The synchronization metadata comprises indications of one or more synchronization targets. A synchronization target is a node of a clustered storage system. A synchronization cache is populated with the synchronization metadata. After populating the synchronization cache with at least a portion of the synchronization metadata, a connection to a network is established. After the connection to the network is established, a connection to a first of the one or more synchronization targets is established.Type: GrantFiled: August 29, 2014Date of Patent: December 3, 2019Assignee: NetApp Inc.Inventors: Yuedong Mu, Ching-Yuk Paul Ngan, Manoj V Sundararajan
-
Patent number: 10452489Abstract: A distributed storage system replicates data for a primary logical storage object on a primary node of the storage system to a secondary logical storage object on a secondary node on the distributed storage system. Failures in writing data to the primary logical storage object or failures in the replication of the data to the secondary logical storage object can cause data that should be synchronized to become divergent. In cases where the data may be divergent, reconciliation operations can be performed to resynchronize the data.Type: GrantFiled: July 24, 2017Date of Patent: October 22, 2019Assignee: NetApp Inc.Inventors: Yuedong Mu, Manoj V. Sundararajan, Ching-Yuk Paul Ngan
-
Publication number: 20190220206Abstract: A primary write request that is to modify a primary portion of primary data stored in a primary storage node is received. The primary write request is to be replicated to create a current secondary write request. The current secondary write request is to modify a current secondary portion of secondary data that is stored in a secondary storage node. A current data range of the current secondary portion is determined. A determination is made of whether a previous secondary write request is in process of modifying a previous data range that at least partially overlaps with a current data range of the current secondary portion. Execution of the primary write request is suspended, until the previous secondary write request has completed updating the secondary storage node.Type: ApplicationFiled: March 26, 2019Publication date: July 18, 2019Inventors: Manoj V. Sundararajan, Ching-Yuk Paul Ngan, Yuedong Mu, Susan M. Coatney
-
Patent number: 10248341Abstract: A primary write request that is to modify a primary portion of primary data stored in a primary storage node is received. The primary write request is to be replicated to create a current secondary write request. The current secondary write request is to modify a current secondary portion of secondary data that is stored in a secondary storage node. A current data range of the current secondary portion is determined. A determination is made of whether a previous secondary write request is in process of modifying a previous data range that at least partially overlaps with a current data range of the current secondary portion. Execution of the primary write request is suspended, until the previous secondary write request has completed updating the secondary storage node.Type: GrantFiled: March 23, 2018Date of Patent: April 2, 2019Assignee: NetApp Inc.Inventors: Manoj V. Sundararajan, Ching-Yuk Paul Ngan, Yuedong Mu, Susan M. Coatney
-
Publication number: 20180217771Abstract: A primary write request that is to modify a primary portion of primary data stored in a primary storage node is received. The primary write request is to be replicated to create a current secondary write request. The current secondary write request is to modify a current secondary portion of secondary data that is stored in a secondary storage node. A current data range of the current secondary portion is determined. A determination is made of whether a previous secondary write request is in process of modifying a previous data range that at least partially overlaps with a current data range of the current secondary portion. Execution of the primary write request is suspended, until the previous secondary write request has completed updating the secondary storage node.Type: ApplicationFiled: March 23, 2018Publication date: August 2, 2018Inventors: Manoj V. Sundararajan, Ching-Yuk Paul Ngan, Yuedong Mu, Susan M. Coatney
-
Publication number: 20180139279Abstract: One or more techniques and/or computing devices are provided for implementing synchronous replication. For example, a synchronous replication relationship may be established between a first storage controller hosting local storage and a second storage controller hosting remote storage (e.g., replication may be specified at a file, logical unit number (LUN), or any other level of granularity). Data operations and offloaded operations may be implemented in parallel upon the local storage and the remote storage. Error handling operations may be implemented upon the local storage and implement in parallel as a best effort on the remote storage, and a reconciliation may be performed to identify any data divergence from the best effort parallel implementation. Storage area network (SAN) operations may be implemented upon the local storage, and upon local completion may be remotely implemented upon the remote storage.Type: ApplicationFiled: December 21, 2017Publication date: May 17, 2018Inventors: Paul Anthony Powell, Akhil Kaushik, Srikumar Natarajan, Ching-Yuk Paul Ngan
-
Patent number: 9959064Abstract: A primary write request that is to modify a primary portion of primary data stored in a primary storage node is received. The primary write request is to be replicated to create a current secondary write request. The current secondary write request is to modify a current secondary portion of secondary data that is stored in a secondary storage node. A current data range of the current secondary portion is determined. A determination is made of whether a previous secondary write request is in process of modifying a previous data range that at least partially overlaps with a current data range of the current secondary portion. Execution of the primary write request is suspended, until the previous secondary write request has completed updating the secondary storage node.Type: GrantFiled: May 8, 2017Date of Patent: May 1, 2018Assignee: NetApp, Inc.Inventors: Manoj V. Sundararajan, Ching-Yuk Paul Ngan, Yuedong Mu, Susan M. Coatney
-
Patent number: 9917896Abstract: One or more techniques and/or computing devices are provided for implementing synchronous replication. For example, a synchronous replication relationship may be established between a first storage controller hosting local storage and a second storage controller hosting remote storage (e.g., replication may be specified at a file, logical unit number (LUN), or any other level of granularity). Data operations and offloaded operations may be implemented in parallel upon the local storage and the remote storage. Error handling operations may be implemented upon the local storage and implement in parallel as a best effort on the remote storage, and a reconciliation may be performed to identify any data divergence from the best effort parallel implementation. Storage area network (SAN) operations may be implemented upon the local storage, and upon local completion may be remotely implemented upon the remote storage.Type: GrantFiled: November 27, 2015Date of Patent: March 13, 2018Assignee: NetApp Inc.Inventors: Paul Anthony Powell, Akhil Kaushik, Srikumar Natarajan, Ching-Yuk Paul Ngan
-
Publication number: 20170329678Abstract: A distributed storage system replicates data for a primary logical storage object on a primary node of the storage system to a secondary logical storage object on a secondary node on the distributed storage system. Failures in writing data to the primary logical storage object or failures in the replication of the data to the secondary logical storage object can cause data that should be synchronized to become divergent. In cases where the data may be divergent, reconciliation operations can be performed to resynchronize the data.Type: ApplicationFiled: July 24, 2017Publication date: November 16, 2017Inventors: Yuedong Mu, Manoj V. Sundararajan, Ching-Yuk Paul Ngan
-
Publication number: 20170242603Abstract: A primary write request that is to modify a primary portion of primary data stored in a primary storage node is received. The primary write request is to be replicated to create a current secondary write request. The current secondary write request is to modify a current secondary portion of secondary data that is stored in a secondary storage node. A current data range of the current secondary portion is determined. A determination is made of whether a previous secondary write request is in process of modifying a previous data range that at least partially overlaps with a current data range of the current secondary portion. Execution of the primary write request is suspended, until the previous secondary write request has completed updating the secondary storage node.Type: ApplicationFiled: May 8, 2017Publication date: August 24, 2017Inventors: Manoj V. Sundararajan, Ching-Yuk Paul Ngan, Yuedong Mu, Susan M. Coatney
-
Patent number: 9715433Abstract: A distributed storage system replicates data for a primary logical storage object on a primary node of the storage system to a secondary logical storage object on a secondary node on the distributed storage system. Failures in writing data to the primary logical storage object or failures in the replication of the data to the secondary logical storage object can cause data that should be synchronized to become divergent. In cases where the data may be divergent, reconciliation operations can be performed to resynchronize the data.Type: GrantFiled: August 29, 2014Date of Patent: July 25, 2017Assignee: NetApp, Inc.Inventors: Yuedong Mu, Manoj V. Sundararajan, Ching-Yuk Paul Ngan
-
Publication number: 20170185491Abstract: One or more techniques and/or computing devices are provided for snapshot creation. For example, a request may be received to create a snapshot of a first storage object, hosted by a first storage controller, having a synchronous replication relationship with a second storage object hosted by a second storage controller. A coordinator workflow is initialized to issue a drain and hold request to a splitter. Responsive to an indication that the splitter has stopped processing and started queuing incoming write operations and has drained current write operations based upon the drain and hold request, snapshot creation requests are sent to the first storage controller and the second storage controller. Responsive to the first storage controller creating a first snapshot of the first storage object and the second storage controller creating a second snapshot of the second storage object, the splitter may be resumed to process write operations.Type: ApplicationFiled: December 28, 2015Publication date: June 29, 2017Inventors: Vrishali Dattatray Hajare, Rapulkumar Hemantbhai Patel, Ching-Yuk Paul Ngan, Rithin Kumar Shetty
-
Publication number: 20170155713Abstract: One or more techniques and/or computing devices are provided for implementing synchronous replication. For example, a synchronous replication relationship may be established between a first storage controller hosting local storage and a second storage controller hosting remote storage (e.g., replication may be specified at a file, logical unit number (LUN), or any other level of granularity). Data operations and offloaded operations may be implemented in parallel upon the local storage and the remote storage. Error handling operations may be implemented upon the local storage and implement in parallel as a best effort on the remote storage, and a reconciliation may be performed to identify any data divergence from the best effort parallel implementation. Storage area network (SAN) operations may be implemented upon the local storage, and upon local completion may be remotely implemented upon the remote storage.Type: ApplicationFiled: November 27, 2015Publication date: June 1, 2017Inventors: Paul Anthony Powell, Akhil Kaushik, Srikumar Natarajan, Ching-Yuk Paul Ngan
-
Patent number: 9645753Abstract: A primary write request that is to modify a primary portion of primary data stored in a primary storage node is received. The primary write request is to be replicated to create a current secondary write request. The current secondary write request is to modify a current secondary portion of secondary data that is stored in a secondary storage node. A current data range of the current secondary portion is determined. A determination is made of whether a previous secondary write request is in process of modifying a previous data range that at least partially overlaps with a current data range of the current secondary portion. Execution of the primary write request is suspended, until the previous secondary write request has completed updating the secondary storage node.Type: GrantFiled: August 29, 2014Date of Patent: May 9, 2017Assignee: NetApp, Inc.Inventors: Manoj V. Sundararajan, Ching-Yuk Paul Ngan, Yuedong Mu, Susan M. Coatney
-
Publication number: 20170091299Abstract: One or more techniques and/or computing devices are provided for data synchronization. For example, an in-flight log may be maintained to track storage operations that are received by a first storage node, but have not been committed to both first storage of the first storage node and second storage of a second storage node that has a replication relationship, such as a disaster recovery relationship, with the first storage node. A dirty region log may be maintained to track regions within the first storage that have been modified by storage operations that have not been replicated to the second storage. Accordingly, a catchup synchronization phase (e.g., asynchronous replication by a resync scanner) may be performed to replicate storage operations (e.g., replicate data within dirty regions of the first storage that were modified by such storage operations) to the second storage until the first storage and the second storage are synchronized.Type: ApplicationFiled: September 25, 2015Publication date: March 30, 2017Inventors: Ching-Yuk Paul Ngan, Kanwaldeep Singh, Yuedong Mu, Manoj Kumar V Sundararajan
-
Patent number: 9424143Abstract: Method, system, apparatus and/or computer program for achieving transparent integration of high-availability services for distributed application programs. Loss-less migration of sub-programs from their respective primary nodes to backup nodes is performed transparently to a client which is connected to the primary node. Migration is performed by high-availability services which are configured for injecting registration codes, registering distributed applications, detecting execution failures, executing from backup nodes in response to failure, and other services. High-availability application services can be utilized by distributed applications having any desired number of sub-programs without the need of modifying or recompiling the application program and without the need of a custom loader. In one example embodiment, a transport driver is responsible for receiving messages, halting and flushing of messages, and for issuing messages directing sub-programs to continue after checkpointing.Type: GrantFiled: June 25, 2015Date of Patent: August 23, 2016Assignee: RED HAT, INC.Inventors: Allan Havemose, Ching-Yuk Paul Ngan
-
Patent number: 9311200Abstract: A set of system-level high availability services for computer systems, including a service that functions in general terms like an extension of the operating system. By providing High Availability (HA) at the system-level, modifications to the applications or the operating system kernel are not required.Type: GrantFiled: January 23, 2012Date of Patent: April 12, 2016Assignee: Red Hat, Inc.Inventors: Ching-Yuk Paul Ngan, Sanjay D. Hortikar, Allan Havemose, Lauren Tewksbury, Vishwas Raman
-
Publication number: 20160062836Abstract: A distributed storage system replicates data for a primary logical storage object on a primary node of the storage system to a secondary logical storage object on a secondary node on the distributed storage system. Failures in writing data to the primary logical storage object or failures in the replication of the data to the secondary logical storage object can cause data that should be synchronized to become divergent. In cases where the data may be divergent, reconciliation operations can be performed to resynchronize the data.Type: ApplicationFiled: August 29, 2014Publication date: March 3, 2016Inventors: Yuedong Mu, Manoj V. Sundararajan, Ching-Yuk Paul Ngan
-
Publication number: 20160063083Abstract: Synchronization metadata is read from non-volatile storage. The synchronization metadata comprises indications of one or more synchronization targets. A synchronization target is a node of a clustered storage system. A synchronization cache is populated with the synchronization metadata. After populating the synchronization cache with at least a portion of the synchronization metadata, a connection to a network is established. After the connection to the network is established, a connection to a first of the one or more synchronization targets is established.Type: ApplicationFiled: August 29, 2014Publication date: March 3, 2016Inventors: Yuedong Mu, Ching-Yuk Paul Ngan, Manoj V. Sundararajan