Patents by Inventor Hairong Kuang

Hairong Kuang 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: 10581982
    Abstract: The disclosure is directed to moving an application, e.g., a messenger service in a social networking application, to various locations in a distributed computing system, e.g., to improve an efficiency of the application. For example, the application can be moved to a data center that is closer to a location of a user to decrease a latency associated with accessing the application. In another example, the application can be moved to a data center that is closer to a location of a storage system that stores data associated with the application to improve a throughput of the application, e.g., a rate at which data is read and/or written.
    Type: Grant
    Filed: April 8, 2016
    Date of Patent: March 3, 2020
    Assignee: Facebook, Inc.
    Inventors: Thomas Apostolos Georgiou, Haobo Xu, Jason Curtis Jenks, Hairong Kuang
  • Patent number: 9904689
    Abstract: Processing a file system operation is disclosed. An indication of a desired operation of a distributed file system is received. A metadata node for the desired operation is identified. It is indicated to the identified metadata node to process the desired operation. In the event the identified metadata node becomes not fully functional before the processing by the identified metadata node is confirmed, the distributed file system is analyzed to determine whether to indicate again to process the desired operation.
    Type: Grant
    Filed: July 13, 2012
    Date of Patent: February 27, 2018
    Assignee: Facebook, Inc.
    Inventors: Dhrubajyoti Borthakur, Dmytro Molkov, Hairong Kuang
  • Publication number: 20170293540
    Abstract: The disclosure is directed to a failover mechanism for failing over an application service, e.g., a messaging service, from servers in a first region to servers in a second region. Data is stored as shards in which each shard contains data associated with a subset of the users. Data access requests are served by a primary region of the shard. A global shard manager manages failing over the application service from a current primary region to a secondary region of the shard. A leader service in the application service replicates data associated with the application service from the primary to the secondary region, and ensures that the state of various other services of the application service in the secondary region is consistent. The leader service confirms that there is no replication lag between the primary and secondary regions and fails over the application service to the secondary region.
    Type: Application
    Filed: April 8, 2016
    Publication date: October 12, 2017
    Inventors: Vikas Mehta, Haobo Xu, Jason Curtis Jenks, Hairong Kuang
  • Publication number: 20170295246
    Abstract: The disclosure is directed to moving an application, e.g., a messenger service in a social networking application, to various locations in a distributed computing system, e.g., to improve an efficiency of the application. For example, the application can be moved to a data center that is closer to a location of a user to decrease a latency associated with accessing the application. In another example, the application can be moved to a data center that is closer to a location of a storage system that stores data associated with the application to improve a throughput of the application, e.g., a rate at which data is read and/or written.
    Type: Application
    Filed: April 8, 2016
    Publication date: October 12, 2017
    Inventors: Thomas Apostolos Georgiou, Haobo Xu, Jason Curtis Jenks, Hairong Kuang
  • Publication number: 20170206148
    Abstract: The disclosure is directed to a failover mechanism for failing over an application service, e.g., a messaging service, from servers in a first region to servers in a second region. Data is stored as shards in which each shard contains data associated with a subset of the users. Data access requests are served by a primary region of the shard. A global shard manager manages failing over the application service from a current primary region of a shard to a secondary region of the shard. The current primary determines whether a criterion for failing over, e.g., a replication lag between the primary and the secondary regions is within a threshold, and if it is within the threshold, the failover process waits until the lag is zero. After the replication lag is zero, the application service is failed over to the second region, which then becomes the primary for the shard.
    Type: Application
    Filed: January 20, 2016
    Publication date: July 20, 2017
    Inventors: Vikas Mehta, Haobo Xu, Jason Curtis Jenks, Hairong Kuang, Pierre-Luc Bertrand, Andrei Lutsenko, Zhenhua Guo, Jun Ying
  • Patent number: 9607001
    Abstract: Switching an active metadata node is disclosed. An indication that a standby metadata node of a distributed file system should replace an active metadata node of the distributed file system as a new active metadata node of the distributed file system is received. The standby metadata node is included in a server. A request that indicates that the standby metadata node would like to become an exclusive metadata node writer of a transaction log is sent. A confirmation that the standby metadata node is the exclusive metadata node writer of the transaction log is received. Based at least in part on the confirmation, an update that the standby metadata node has become the new active metadata node of the distributed file system is provided.
    Type: Grant
    Filed: July 13, 2012
    Date of Patent: March 28, 2017
    Assignee: Facebook, Inc.
    Inventors: Dhrubajyoti Borthakur, Dmytro Molkov, Hairong Kuang
  • Patent number: 8959390
    Abstract: A method and system for reducing replication factor in a file system are provided. In some embodiments, two or more requested files may be grouped together under a leaf directory for RAID process. All data under the directory are grouped into one or more data stripes, each of which comprises a plurality of data blocks. One or more parity data blocks may be generated for each data stripe according to a computing algorithm, such as an exclusive OR (XOR) code or a Reed-Solomon (RS) code. Parity blocks corresponding to the one or more data stripes are concatenated into one parity file. Data blocks of the two or more requested files and their corresponding parity blocks are stored in separate partitions and/or separate storage drives of the file system.
    Type: Grant
    Filed: November 12, 2012
    Date of Patent: February 17, 2015
    Assignee: Facebook, Inc.
    Inventors: Hairong Kuang, Weiyan Wang, Dikang Gu
  • Publication number: 20140136889
    Abstract: A method and system for reducing replication factor in a file system are provided. In some embodiments, two or more requested files may be grouped together under a leaf directory for RAID process. All data under the directory are grouped into one or more data stripes, each of which comprises a plurality of data blocks. One or more parity data blocks may be generated for each data stripe according to a computing algorithm, such as an exclusive OR (XOR) code or a Reed-Solomon (RS) code. Parity blocks corresponding to the one or more data stripes are concatenated into one parity file. Data blocks of the two or more requested files and their corresponding parity blocks are stored in separate partitions and/or separate storage drives of the file system.
    Type: Application
    Filed: November 12, 2012
    Publication date: May 15, 2014
    Inventors: Hairong Kuang, Welyan Wang, Dikang Gu
  • Publication number: 20140019405
    Abstract: Switching an active metadata node is disclosed. An indication that a standby metadata node of a distributed file system should replace an active metadata node of the distributed file system as a new active metadata node of the distributed file system is received. The standby metadata node is included in a server. A request that indicates that the standby metadata node would like to become an exclusive metadata node writer of a transaction log is sent. A confirmation that the standby metadata node is the exclusive metadata node writer of the transaction log is received. Based at least in part on the confirmation, an update that the standby metadata node has become the new active metadata node of the distributed file system is provided.
    Type: Application
    Filed: July 13, 2012
    Publication date: January 16, 2014
    Inventors: Dhrubajyoti Borthakur, Dmytro Molkov, Hairong Kuang
  • Publication number: 20140019495
    Abstract: Processing a file system operation is disclosed. An indication of a desired operation of a distributed file system is received. A metadata node for the desired operation is identified. It is indicated to the identified metadata node to process the desired operation. In the event the identified metadata node becomes not fully functional before the processing by the identified metadata node is confirmed, the distributed file system is analyzed to determine whether to indicate again to process the desired operation.
    Type: Application
    Filed: July 13, 2012
    Publication date: January 16, 2014
    Inventors: Dhrubajyoti Borthakur, Dmytro Molkov, Hairong Kuang