Patents by Inventor Wei-Ming Hu

Wei-Ming Hu 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: 10983970
    Abstract: Techniques are provided for creating, organizing, and maintaining a sharded database. A sharded database can be created using user-defined sharding, system-managed sharding, or composite sharding. The sharded database is implemented with relational database techniques. The techniques described provide improvements to load distribution, organization, query processing, and schema propagation in a sharded database.
    Type: Grant
    Filed: March 21, 2019
    Date of Patent: April 20, 2021
    Assignee: Oracle International Corporation
    Inventors: Wei-Ming Hu, Mark Dilman, Stephen Ball, Ghazi Nourdine Benadjaoud, Leonid Novak, Ilya Taranov, Zheng Zeng
  • Publication number: 20210081378
    Abstract: Techniques described herein create a sharding environment from existing independent databases, use the sharding environment to issue cross shard queries, create “on all shards” new objects, and create and “on all shards” new users that will have permission to access the data across all database shards.
    Type: Application
    Filed: September 12, 2019
    Publication date: March 18, 2021
    Inventors: Wei-Ming Hu, Ghazi Nourdine Benadjaoud, Mark Dilman, Darshan Maniyani, Sachin Rathod, Wumengjian Zhu
  • Publication number: 20210081372
    Abstract: Techniques herein store database blocks (DBBs) in byte-addressable persistent memory (PMEM) and prevent tearing without deadlocking or waiting. In an embodiment, a computer hosts a DBMS. A reader process of the DBMS obtains, without locking and from metadata in PMEM, a first memory address for directly accessing a current version, which is a particular version, of a DBB in PMEM. Concurrently and without locking: a) the reader process reads the particular version of the DBB in PMEM, and b) a writer process of the DBMS replaces, in the metadata in PMEM, the first memory address with a second memory address for directly accessing a new version of the DBB in PMEM. In an embodiment, a computer performs without locking: a) storing, in PMEM, a DBB, b) copying into volatile memory, or reading, an image of the DBB, and c) detecting whether the image of the DBB is torn.
    Type: Application
    Filed: March 9, 2020
    Publication date: March 18, 2021
    Inventors: J. William Lee, William H. Bridge, JR., Ankur Kemkar, Vipin Gokhale, Sivaram Prasad Soma, Vishvesh Mohanarangam Selvakumaar, Juan R. Loaiza, Wei-Ming Hu, Neil J.S. MacNaughton, Adam Y. Lee
  • Publication number: 20210073208
    Abstract: Techniques are provided for processing a database command in a sharded database. The processing of the database command may include generating or otherwise accessing a shard key expression, and evaluating the shard key expression to identify one or more target shards that contain data used to execute the database command.
    Type: Application
    Filed: September 9, 2019
    Publication date: March 11, 2021
    Inventors: Lik Wong, Leonid Novak, Douglas N. Surber, Ilesh Garish, Saurabh Verma, Wei Ming Hu, Mark Dilman, Jean de Lavarene
  • Publication number: 20210073209
    Abstract: Herein are high throughput techniques for incorporating cryptographic blockchains into relational data. In an embodiment, a computer indicates, in a database dictionary in a database, that a relational table is for blockchain storage. The relational table contains application column(s). In response to that indication, the relational table is associated with system column(s) that are unmodifiable by administrators and clients of the database. The system column(s) include a cryptographic hash column. A request to store a particular value in a particular application column is received from a client. In response to receiving the request, a cryptographic hash value is calculated for a new row for the relational table. In the relational table, the computer stores the new row that contains: the particular value in the particular application column, and the cryptographic hash value in the cryptographic hash column.
    Type: Application
    Filed: July 8, 2020
    Publication date: March 11, 2021
    Inventors: Juan R. Loaiza, Wei-Ming Hu, Amrish Srivastava, Mahesh Baburao Girkar, James W. Stamos
  • Publication number: 20210034606
    Abstract: Distributed ledgered data is stored within a distributed persistent storage system comprising multiple persistent storage systems as distributed ledgered participants. In various embodiments, the distributed ledgered data is maintained using the native capabilities of a persistent storage system. The distributed ledgered data is replicated as persistent data objects in a “ledgered repository of objects” that are replicated at each of the persistent storage systems. Changes at one persistent storage system are recorded within a block in a distributed blockchain that is distributed across each of the other distributed ledgered participants. The other distributed ledgered participants read the changes from the blockchain and apply the changes to the respective replicas at each of the other distributed ledgered participants. Hence, this approach is referred to as blockchain apply. Blockchain apply may be used to replicate the repository objects of various forms of PSSs.
    Type: Application
    Filed: July 17, 2020
    Publication date: February 4, 2021
    Inventors: James W. Stamos, Mahesh Baburao Girkar, Wei Ming Hu, Juan R. Loaiza, Sachin Vijaykumar Sonawane, Hongjie Yang
  • Publication number: 20200320010
    Abstract: A method and apparatus for implementing a buffer cache for a persistent file system in non-volatile memory is provided. A set of data is maintained in one or more extents in non-volatile random-access memory (NVRAM) of a computing device. At least one buffer header is allocated in dynamic random-access memory (DRAM) of the computing device. In response to a read request by a first process executing on the computing device to access one or more first data blocks in a first extent of the one or more extents, the first process is granted direct read access of the first extent in NVRAM. A reference to the first extent in NVRAM is stored in a first buffer header. The first buffer header is associated with the first process. The first process uses the first buffer header to directly access the one or more first data blocks in NVRAM.
    Type: Application
    Filed: June 22, 2020
    Publication date: October 8, 2020
    Inventors: Juan R. Loaiza, J. William Lee, Wei-Ming Hu, Kothanda Umamageswaran, Neil J.S. MacNaughton, Adam Y. Lee
  • Patent number: 10719446
    Abstract: A method and apparatus for implementing a buffer cache for a persistent file system in non-volatile memory is provided. A set of data is maintained in one or more extents in non-volatile random-access memory (NVRAM) of a computing device. At least one buffer header is allocated in dynamic random-access memory (DRAM) of the computing device. In response to a read request by a first process executing on the computing device to access one or more first data blocks in a first extent of the one or more extents, the first process is granted direct read access of the first extent in NVRAM. A reference to the first extent in NVRAM is stored in a first buffer header. The first buffer header is associated with the first process. The first process uses the first buffer header to directly access the one or more first data blocks in NVRAM.
    Type: Grant
    Filed: August 31, 2017
    Date of Patent: July 21, 2020
    Assignee: Oracle International Corporation
    Inventors: Juan R. Loaiza, J. William Lee, Wei-Ming Hu, Kothanda Umamageswaran, Neil J. S. MacNaughton, Adam Y. Lee
  • Publication number: 20200125546
    Abstract: In accordance with an embodiment, the system enables access to a sharded database using a cache and a shard topology. A shard-aware client application connecting to a sharded database can use a connection pool (e.g., a Universal Connection Pool, UCP), to store or access connections to different shards or chunks of the sharded database within a shared pool. As new connections are created, a shard topology layer can be built at the database driver layer, which learns and caches shard key ranges to locations of shards. The shard topology layer enables subsequent connection requests from a client application to use a fast key path access to the appropriate shard or chunk.
    Type: Application
    Filed: December 23, 2019
    Publication date: April 23, 2020
    Inventors: Vidya Hegde, Jean de Lavarene, Douglas Surber, Mark Dilman, Leonid Novak, Wei Ming Hu, Ashok Shivarudraiah, Tong Zhou, Ilya Taranov
  • Patent number: 10592416
    Abstract: A storage device uses non-volatile memory devices for caching. The storage device operates in a mode referred to herein as write-back mode. In write-back mode, a storage device responds to a request to write data by persistently writing the data to a cache in a non-volatile memory device and acknowledges to the requestor that the data is written persistently in the storage device. The acknowledgement is sent without necessarily having written the data that was requested to be written to primary storage. Instead, the data is written to primary storage later.
    Type: Grant
    Filed: November 3, 2011
    Date of Patent: March 17, 2020
    Assignee: Oracle International Corporation
    Inventors: Bharat Chandra Baddepudi, Juan R. Loaiza, Wei-Ming Hu, Kothanda Umamageswaran, Alex Tsukerman, Boris Erlikhman, J. William Lee, Jia Shi, Kiran B. Goyal, Selcuk Aya
  • Patent number: 10545935
    Abstract: In accordance with an embodiment, the system enables access to a sharded database using a cache and a shard topology. A shard-aware client application connecting to a sharded database can use a connection pool (e.g., a Universal Connection Pool, UCP), to store or access connections to different shards or chunks of the sharded database within a shared pool. As new connections are created, a shard topology layer can be built at the database driver layer, which learns and caches shard key ranges to locations of shards. The shard topology layer enables subsequent connection requests from a client application to use a fast key path access to the appropriate shard or chunk.
    Type: Grant
    Filed: April 20, 2016
    Date of Patent: January 28, 2020
    Assignee: ORACLE INTERNATIONAL CORPORATION
    Inventors: Vidya Hegde, Jean de Lavarene, Douglas Surber, Mark Dilman, Leonid Novak, Wei Ming Hu, Ashok Shivarudraiah, Tong Zhou, Ilya Taranov
  • Patent number: 10496614
    Abstract: Techniques are provided for creating, organizing, and maintaining a sharded database. A sharded database can be created using user-defined sharding, system-managed sharding, or composite sharding. The sharded database is implemented with relational database techniques. The techniques described can be used for load distribution, organization, query processing, and schema propagation in a sharded database.
    Type: Grant
    Filed: September 16, 2016
    Date of Patent: December 3, 2019
    Assignee: Oracle International Corporation
    Inventors: Wei-Ming Hu, Mark Dilman, Leonid Novak, Stephen Ball, Ghazi Nourdine Benadjaoud
  • Publication number: 20190258613
    Abstract: Techniques are provided for creating, organizing, and maintaining a sharded database. A sharded database can be created using user-defined sharding, system-managed sharding, or composite sharding. The sharded database is implemented with relational database techniques. The techniques described can be used to route database requests and process queries in a sharded database.
    Type: Application
    Filed: May 3, 2019
    Publication date: August 22, 2019
    Inventors: Wei-Ming Hu, Mark Dilman, Leonid Novak, Ilya Taranov, Zheng Zeng, Jean de Lavarene, Vidya Hegde
  • Publication number: 20190220450
    Abstract: Techniques are provided for creating, organizing, and maintaining a sharded database. A sharded database can be created using user-defined sharding, system-managed sharding, or composite sharding. The sharded database is implemented with relational database techniques. The techniques described provide improvements to load distribution, organization, query processing, and schema propagation in a sharded database.
    Type: Application
    Filed: March 21, 2019
    Publication date: July 18, 2019
    Inventors: Wei-Ming Hu, Mark Dilman, Stephen Ball, Ghazi Nourdine Benadjaoud, Leonid Novak, Ilya Taranov, Zheng Zeng
  • Patent number: 10339116
    Abstract: Techniques are provided for creating, organizing, and maintaining a sharded database. A sharded database can be created using user-defined sharding, system-managed sharding, or composite sharding. The sharded database is implemented with relational database techniques. The techniques described can be used for organizing a sharded database using composite sharding.
    Type: Grant
    Filed: September 16, 2016
    Date of Patent: July 2, 2019
    Assignee: ORACLE INTERNATIONAL CORPORATION
    Inventors: Wei-Ming Hu, Mark Dilman, Ghazi Nourdine Benadjaoud, Ilya Taranov
  • Patent number: 10331634
    Abstract: Techniques are provided for creating, organizing, and maintaining a sharded database. A sharded database can be created using user-defined sharding, system-managed sharding, or composite sharding. The sharded database is implemented with relational database techniques. The techniques described can be used to route database requests and process queries in a sharded database.
    Type: Grant
    Filed: September 16, 2016
    Date of Patent: June 25, 2019
    Assignee: ORACLE INTERNATIONAL CORPORATION
    Inventors: Wei-Ming Hu, Mark Dilman, Leonid Novak, Ilya Taranov, Zheng Zeng, Jean de Lavarene, Vidya Hegde
  • Patent number: 10268710
    Abstract: Techniques are provided for creating, organizing, and maintaining a sharded database. A sharded database can be created using user-defined sharding, system-managed sharding, or composite sharding. The sharded database is implemented with relational database techniques. The techniques described provide improvements to load distribution, organization, query processing, and schema propagation in a sharded database.
    Type: Grant
    Filed: September 16, 2016
    Date of Patent: April 23, 2019
    Assignee: Oracle International Corporation
    Inventors: Wei-Ming Hu, Mark Dilman, Stephen Ball, Ghazi Nourdine Benadjaoud, Leonid Novak, Ilya Taranov, Zheng Zeng
  • Publication number: 20190102408
    Abstract: Techniques are described herein for routing queries to particular nodes of a multi-node database system based on the query. A database table is partitioned into a plurality of affinity groups. Each affinity group is assigned a particular node as the master node of the affinity group. A mapping is sent to a query router indicating the master node for each affinity group of the plurality of affinity groups. The query router determines, for a particular query, a target node to which to send the particular query based on the mapping and the particular query.
    Type: Application
    Filed: December 18, 2017
    Publication date: April 4, 2019
    Inventors: Juan R. Loaiza, Wei-Ming Hu, Mark Dilman, Leonid Novak
  • Patent number: 10248483
    Abstract: A computer is programmed to identify failures and perform recovery of data. Specifically, in several embodiments, the computer is programmed to automatically check integrity of data in a storage structure to identify a set of failures related to the storage structure. The computer is further programmed in some embodiments to identify, based on one failure in the set of failures, a group of repairs to fix that one failure. Each repair in the group of repairs is alternative to another repair in the group. The computer is also programmed in some embodiments to execute at least one repair in the group of repairs, so as to generate corrected data to fix the one failure. In certain embodiments, the corrected data is stored in non-volatile storage media of the computer.
    Type: Grant
    Filed: October 17, 2008
    Date of Patent: April 2, 2019
    Assignee: Oracle International Corporation
    Inventors: Mark Dilman, Michael James Stewart, Wei-Ming Hu, Alok Pareek, Lawrence HinLuen To, Jr., Vinay H. Srihari
  • Publication number: 20190065383
    Abstract: A method and apparatus for implementing a buffer cache for a persistent file system in non-volatile memory is provided. A set of data is maintained in one or more extents in non-volatile random-access memory (NVRAM) of a computing device. At least one buffer header is allocated in dynamic random-access memory (DRAM) of the computing device. In response to a read request by a first process executing on the computing device to access one or more first data blocks in a first extent of the one or more extents, the first process is granted direct read access of the first extent in NVRAM. A reference to the first extent in NVRAM is stored in a first buffer header. The first buffer header is associated with the first process. The first process uses the first buffer header to directly access the one or more first data blocks in NVRAM.
    Type: Application
    Filed: August 31, 2017
    Publication date: February 28, 2019
    Inventors: Juan R. Loaiza, J. William Lee, Wei-Ming Hu, Kothanda Umamageswaran, Neil J.S. MacNaughton, Adam Y. Lee