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: 10523751
    Abstract: 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: Grant
    Filed: December 21, 2017
    Date of Patent: December 31, 2019
    Assignee: NetApp Inc.
    Inventors: Paul Anthony Powell, Akhil Kaushik, Srikumar Natarajan, Ching-Yuk Paul Ngan
  • Patent number: 10496676
    Abstract: 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: Grant
    Filed: August 29, 2014
    Date of Patent: December 3, 2019
    Assignee: NetApp Inc.
    Inventors: Yuedong Mu, Ching-Yuk Paul Ngan, Manoj V Sundararajan
  • Patent number: 10452489
    Abstract: 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: Grant
    Filed: July 24, 2017
    Date of Patent: October 22, 2019
    Assignee: NetApp Inc.
    Inventors: Yuedong Mu, Manoj V. Sundararajan, Ching-Yuk Paul Ngan
  • Publication number: 20190220206
    Abstract: 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: Application
    Filed: March 26, 2019
    Publication date: July 18, 2019
    Inventors: Manoj V. Sundararajan, Ching-Yuk Paul Ngan, Yuedong Mu, Susan M. Coatney
  • Patent number: 10248341
    Abstract: 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: Grant
    Filed: March 23, 2018
    Date of Patent: April 2, 2019
    Assignee: NetApp Inc.
    Inventors: Manoj V. Sundararajan, Ching-Yuk Paul Ngan, Yuedong Mu, Susan M. Coatney
  • Publication number: 20180217771
    Abstract: 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: Application
    Filed: March 23, 2018
    Publication date: August 2, 2018
    Inventors: Manoj V. Sundararajan, Ching-Yuk Paul Ngan, Yuedong Mu, Susan M. Coatney
  • Publication number: 20180139279
    Abstract: 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: Application
    Filed: December 21, 2017
    Publication date: May 17, 2018
    Inventors: Paul Anthony Powell, Akhil Kaushik, Srikumar Natarajan, Ching-Yuk Paul Ngan
  • Patent number: 9959064
    Abstract: 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: Grant
    Filed: May 8, 2017
    Date of Patent: May 1, 2018
    Assignee: NetApp, Inc.
    Inventors: Manoj V. Sundararajan, Ching-Yuk Paul Ngan, Yuedong Mu, Susan M. Coatney
  • Patent number: 9917896
    Abstract: 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: Grant
    Filed: November 27, 2015
    Date of Patent: March 13, 2018
    Assignee: NetApp Inc.
    Inventors: Paul Anthony Powell, Akhil Kaushik, Srikumar Natarajan, Ching-Yuk Paul Ngan
  • Publication number: 20170329678
    Abstract: 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: Application
    Filed: July 24, 2017
    Publication date: November 16, 2017
    Inventors: Yuedong Mu, Manoj V. Sundararajan, Ching-Yuk Paul Ngan
  • Publication number: 20170242603
    Abstract: 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: Application
    Filed: May 8, 2017
    Publication date: August 24, 2017
    Inventors: Manoj V. Sundararajan, Ching-Yuk Paul Ngan, Yuedong Mu, Susan M. Coatney
  • Patent number: 9715433
    Abstract: 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: Grant
    Filed: August 29, 2014
    Date of Patent: July 25, 2017
    Assignee: NetApp, Inc.
    Inventors: Yuedong Mu, Manoj V. Sundararajan, Ching-Yuk Paul Ngan
  • Publication number: 20170185491
    Abstract: 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: Application
    Filed: December 28, 2015
    Publication date: June 29, 2017
    Inventors: Vrishali Dattatray Hajare, Rapulkumar Hemantbhai Patel, Ching-Yuk Paul Ngan, Rithin Kumar Shetty
  • Publication number: 20170155713
    Abstract: 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: Application
    Filed: November 27, 2015
    Publication date: June 1, 2017
    Inventors: Paul Anthony Powell, Akhil Kaushik, Srikumar Natarajan, Ching-Yuk Paul Ngan
  • Patent number: 9645753
    Abstract: 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: Grant
    Filed: August 29, 2014
    Date of Patent: May 9, 2017
    Assignee: NetApp, Inc.
    Inventors: Manoj V. Sundararajan, Ching-Yuk Paul Ngan, Yuedong Mu, Susan M. Coatney
  • Publication number: 20170091299
    Abstract: 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: Application
    Filed: September 25, 2015
    Publication date: March 30, 2017
    Inventors: Ching-Yuk Paul Ngan, Kanwaldeep Singh, Yuedong Mu, Manoj Kumar V Sundararajan
  • Patent number: 9424143
    Abstract: 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: Grant
    Filed: June 25, 2015
    Date of Patent: August 23, 2016
    Assignee: RED HAT, INC.
    Inventors: Allan Havemose, Ching-Yuk Paul Ngan
  • Patent number: 9311200
    Abstract: 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: Grant
    Filed: January 23, 2012
    Date of Patent: April 12, 2016
    Assignee: Red Hat, Inc.
    Inventors: Ching-Yuk Paul Ngan, Sanjay D. Hortikar, Allan Havemose, Lauren Tewksbury, Vishwas Raman
  • Publication number: 20160062836
    Abstract: 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: Application
    Filed: August 29, 2014
    Publication date: March 3, 2016
    Inventors: Yuedong Mu, Manoj V. Sundararajan, Ching-Yuk Paul Ngan
  • Publication number: 20160063083
    Abstract: 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: Application
    Filed: August 29, 2014
    Publication date: March 3, 2016
    Inventors: Yuedong Mu, Ching-Yuk Paul Ngan, Manoj V. Sundararajan