Patents by Inventor Junlong Gao

Junlong Gao 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).

  • Publication number: 20210064582
    Abstract: The present disclosure provides techniques for deduplicating files. The techniques include creating a data structure that organizes metadata about chunks of files, the organization of the metadata preserving order and locality of the chunks within files. The organization of the metadata within storage blocks of storage devices matches the order of chunks within files. Upon a read or write operation to a metadata, the preservation of locality of metadata results in the likely fetching, from storage into a memory cache, metadata of subsequent and contiguous chunks. The preserved locality results in faster subsequent read and write operations of metadata, because the read and write operations are likely to be executed from memory rather than from storage.
    Type: Application
    Filed: August 27, 2019
    Publication date: March 4, 2021
    Inventors: Wenguang WANG, Junlong GAO, Marcos K. AGUILERA, Richard P. SPILLANE, Christos KARAMANOLIS, Maxime AUSTRUY
  • Publication number: 20210064522
    Abstract: The present disclosure provides techniques for deallocating previously allocated storage blocks. The techniques include obtaining a list of chunk IDs to analyze, choosing a chunk ID, and determining the storage blocks spanned by the chunk corresponding to the chosen chunk ID. The technique further includes determining whether any file references any storage blocks spanned by the chunk. The determining may be performed by comparing an internal reference count to a total reference count, where the internal reference count is the number of reference to the storage block by a chunk ID data structure. If no files reference any of the storage blocks spanned by the chunk, then all the storage blocks of the chunk can be deallocated.
    Type: Application
    Filed: August 27, 2019
    Publication date: March 4, 2021
    Inventors: Wenguang WANG, Junlong GAO, Marcos K. AGUILERA, Richard P. SPILLANE, Christos KARAMANOLIS, Maxime AUSTRUY
  • Publication number: 20210064589
    Abstract: The present disclosure provides techniques for scaling out deduplication of files among a plurality of nodes. The techniques include designating a master component for the coordination of deduplication. The master component divides files to be deduplicated among several slave nodes, and provides to each slave node a set of unique identifiers that are to be assigned to chunks during the deduplication process. The techniques herein preserve integrity of the deduplication process that has been scaled out among several nodes. The scaled out deduplication process deduplicates files faster by allowing several deduplication modules to work in parallel to deduplicate files.
    Type: Application
    Filed: August 27, 2019
    Publication date: March 4, 2021
    Inventors: Wenguang WANG, Junlong GAO, Marcos K. AGUILERA, Richard P. SPILLANE, Christos KARAMANOLIS, Maxime AUSTRUY
  • Patent number: 10909102
    Abstract: Certain aspects provide systems and methods of compacting data within a log-structured merge tree (LSM tree) using sharding. In certain aspects, a method includes determining a size of the LSM tree, determining a compaction time for a compaction of the LSM tree based on the size, determining a number of compaction entities for performing the compaction in parallel based on the compaction time, determining a number of shards based on the number of compaction entities, and determining a key range associated with the LSM tree. The method further comprises dividing the key range by the number of shards into a number of sub key ranges, wherein each of the number of sub key ranges corresponds to a shard of the number of shards and assigning the number of shards to the number of compaction entities for compaction.
    Type: Grant
    Filed: December 6, 2018
    Date of Patent: February 2, 2021
    Assignee: VMware, Inc.
    Inventors: Wenguang Wang, Richard P. Spillane, Junlong Gao, Robert T. Johnson, Christos Karamanolis, Maxime Austruy
  • Publication number: 20200201821
    Abstract: The disclosure herein describes synchronizing cached index copies at a first site with indexes of a log-structured merge (LSM) tree file system on an object storage platform at a second site. An indication that the LSM tree file system has been compacted based on a compaction process is received. A cached metadata catalog of the included parent catalog version at the first site is accessed. A set of cached index copies is identified at the first site based on the metadata of the cached metadata catalog. The compaction process is applied to the identified set of cached index copies and a compacted set of cached index copies is generated at the first site, whereby the compacted set of cached index copies is synchronized with a respective set of indexes of the plurality of sorted data tables of the LSM tree file system at the second site.
    Type: Application
    Filed: December 21, 2018
    Publication date: June 25, 2020
    Inventors: Wenguang Wang, Richard P. Spillane, Junlong Gao, Robert T. Johnson, Christos Karamanolis, Maxime Austruy
  • Publication number: 20200201822
    Abstract: The disclosure herein describes synchronizing a data cache and an LSM tree file system on an object storage platform. Instructions to send a cached data set from the data cache to the LSM tree file system are received. An updated metadata catalog is generated. If the LSM tree structure is out of shape, compaction is performed on the LSM tree file system which may be on a different system or server. When an unmerged compacted metadata catalog is identified, a merged metadata catalog is generated, based on the compacted metadata catalog and the cached data set, and associated with the cached data set. The cached data set and the associated metadata catalog are sent to the LSM tree file system, whereby the data cache and the LSM tree file system are synchronized. Synchronization is enabled without the data cache or file system being locked and/or waiting for the other entity.
    Type: Application
    Filed: December 21, 2018
    Publication date: June 25, 2020
    Inventors: Wenguang Wang, Junlong Gao, Richard P. Spillane, Robert T. Johnson, Christos Karamanolis, Maxime Austruy
  • Publication number: 20200183906
    Abstract: The disclosure herein describes providing and accessing data on an object storage platform using a log-structured merge (LSM) tree file system. The LSM tree file system on the object storage platform includes sorted data tables, each sorted data table including a payload portion and an index portion. Data is written to the LSM tree file system in at least one new sorted data table. Data is ready by identifying a data location of the data based on index portions of the sorted data tables and reading the data from a sorted data table associated with the identified data location. The use of the LSM tree file system on the object storage platform provides an efficient means for interacting with the data stored thereon.
    Type: Application
    Filed: December 7, 2018
    Publication date: June 11, 2020
    Inventors: Richard P. Spillane, Wenguang Wang, Junlong Gao, Robert T. Johnson, Christos Karamanolis, Maxime Austruy
  • Publication number: 20200183886
    Abstract: The disclosure herein describes writing data to a log-structured merge (LSM) tree file system on an object storage platform. Write data instructions indicating data for writing to the LSM tree file system are received. Based on the received instructions, the data is written to the first data cache. Based on an instruction to transfer data in the live data cache to the LSM tree file system, the first data cache is converted to a stable cache. A second data cache configured as a live data cache is then generated based on cloning the first data cache. The data in the first data cache is then written to the LSM tree file system. Use of a stable cache and a cloned live data cache enables parallel writing data to the file system by the stable cache and handling write data instructions by the live data cache.
    Type: Application
    Filed: December 7, 2018
    Publication date: June 11, 2020
    Inventors: Wenguang Wang, Richard P. Spillane, Junlong Gao, Robert T. Johnson, Christos Karamanolis, Maxime Austruy
  • Publication number: 20200183890
    Abstract: The disclosure provides for isolation of concurrent read and write transactions on the same file, thereby enabling higher file system throughput relative to serial-only transactions. Race conditions and lock contentions in multi-writer scenarios are avoided in file stat (metadata) updates by the use of an aggregator to merge updates of committed transactions to maintain file stat truth, and an upgrade lock that enforces atomicity of file stat access, even while still permitting multiple processes to concurrently read from and/or write to the file data. The disclosure is applicable to generic file systems, whether native or virtualized, and may be used, for example, to speed access to database files that require prolonged input/output (I/O) transaction time periods.
    Type: Application
    Filed: December 7, 2018
    Publication date: June 11, 2020
    Inventors: Wenguang Wang, Richard P. Spillane, Junlong Gao, Fengshuang Li
  • Publication number: 20200183905
    Abstract: Certain aspects provide systems and methods of compacting data within a log-structured merge tree (LSM tree) using sharding. In certain aspects, a method includes determining a size of the LSM tree, determining a compaction time for a compaction of the LSM tree based on the size, determining a number of compaction entities for performing the compaction in parallel based on the compaction time, determining a number of shards based on the number of compaction entities, and determining a key range associated with the LSM tree. The method further comprises dividing the key range by the number of shards into a number of sub key ranges, wherein each of the number of sub key ranges corresponds to a shard of the number of shards and assigning the number of shards to the number of compaction entities for compaction.
    Type: Application
    Filed: December 6, 2018
    Publication date: June 11, 2020
    Inventors: Wenguang WANG, Richard P. SPILLANE, Junlong GAO, Robert T. JOHNSON, Christos KARAMANOLIS, Maxime AUSTRUY
  • Publication number: 20200048206
    Abstract: A method for preparing 5-(4-bromophenyl)-4,6-dichloropyrimidine is provided. The method comprises the steps of: preparing methyl p-bromophenylacetate (Intermediate I) by catalytic esterification of p-bromophenylacetic acid, and then reacting with dimethyl carbonate to synthesize 2-(4-bromophenyl)-malonic acid-1,3-dimethyl ester (Intermediate 2), cyclizing with formamidine hydrochloride to obtain 5-(4-bromophenyl)-4,6-dihydroxypyrimidine (Intermediate 3), and then chlorinating to give the product 5-(4-bromophenyl)-4,6-dichloropyrimidine. In the process of preparing Intermediate 1 in the present invention, a solid acid is used as a catalyst. Moreover, in the process of preparing Intermediate 2, sodium methoxide is used as a base in place of sodium hydride or sodium amide used in the prior art. Furthermore, Intermediate 3 is prepared by a one-pot process.
    Type: Application
    Filed: January 9, 2019
    Publication date: February 13, 2020
    Applicant: ZHEJIANG XIANFENG TECHNOLOGIES CO.,LTD
    Inventors: Feifei GAO, Junlong GAO, Minliang ZHU, Wei LU, Yi LIU
  • Patent number: 10556871
    Abstract: A method for preparing 5-(4-bromophenyl)-4,6-dichloropyrimidine is provided. The method comprises the steps of: preparing methyl p-bromophenylacetate (Intermediate I) by catalytic esterification of p-bromophenylacetic acid, and then reacting with dimethyl carbonate to synthesize 2-(4-bromophenyl)-malonic acid-1,3-dimethyl ester (Intermediate 2), cyclizing with formamidine hydrochloride to obtain 5-(4-bromophenyl)-4,6-dihydroxypyrimidine (Intermediate 3), and then chlorinating to give the product 5-(4-bromophenyl)-4,6-dichloropyrimidine. In the process of preparing Intermediate 1 in the present invention, a solid acid is used as a catalyst. Moreover, in the process of preparing Intermediate 2, sodium methoxide is used as a base in place of sodium hydride or sodium amide used in the prior art. Furthermore, Intermediate 3 is prepared by a one-pot process.
    Type: Grant
    Filed: January 9, 2019
    Date of Patent: February 11, 2020
    Assignee: ZHEJIANG XIANFENG TECHNOLOGIES CO., LTD.
    Inventors: Feifei Gao, Junlong Gao, Minliang Zhu, Wei Lu, Yi Liu