Patents by Inventor Tak Fung Wang

Tak Fung Wang 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: 11652892
    Abstract: Disclosed is a method, a computer program product, and a computer system for implementing automatic connection load balancing of database connections between instances of a cluster. Load imbalances are detected globally in the cluster, and can be corrected autonomously by the local instances. The local controller/orchestrator detects the imbalance, computes a target for the instance, and makes any necessary adjustments on the instance, where a server marks the connections to redistribute, and then implements draining and/or planned failover to move sessions.
    Type: Grant
    Filed: September 30, 2020
    Date of Patent: May 16, 2023
    Assignee: Oracle International Corporation
    Inventors: Chandrajith Ramachandran Unnithan, Michael Ullrich Zoll, Wai Shun Wilson Chan, Tak Fung Wang, Carol Lyndall Colrain, Troy Anthony
  • Publication number: 20210099530
    Abstract: Disclosed is a method, a computer program product, and a computer system for implementing automatic connection load balancing of database connections between instances of a cluster. Load imbalances are detected globally in the cluster, and can be corrected autonomously by the local instances. The local controller/orchestrator detects the imbalance, computes a target for the instance, and makes any necessary adjustments on the instance, where a server marks the connections to redistribute, and then implements draining and/or planned failover to move sessions.
    Type: Application
    Filed: September 30, 2020
    Publication date: April 1, 2021
    Inventors: Chandrajith Ramachandran UNNITHAN, Michael Ullrich ZOLL, Wai Shun Wilson CHAN, TAK Fung WANG, Carol Lyndall COLRAIN, Troy ANTHONY
  • Patent number: 9679004
    Abstract: Techniques for taking one or more nodes of a multi-node database system offline are provided. Initially, the multi-node database system uses a first data access management system (e.g., a distributed lock management system) to manage access to data stored in a database. In response to determining that one or more nodes need to be taken offline or otherwise become unavailable, the remaining nodes implement a second data access management system (e.g., an affinity-based access system) to manage access to data stored in the database. After the offline nodes are brought back online, all the nodes in the multi-node database system implement the first data access management system again. The transitions between the two data access management system may involve multiple phases that involve communicating different types of information between nodes that are taken offline and nodes that are not taken offline.
    Type: Grant
    Filed: July 21, 2014
    Date of Patent: June 13, 2017
    Assignee: Oracle International Corporation
    Inventors: Wilson Wai Shun Chan, Tolga Yurek, Tak Fung Wang
  • Patent number: 9489269
    Abstract: Techniques for mastering resources in a cluster of nodes are provided. A global backup lock manager (GBLM) is maintained for a cluster of nodes that implement distributed lock management. Before a server instance is taken down, for example, for maintenance purposes, such as installing a new version of the server instance code, the mastership information that the server instance stores is reflected in the mastership information maintained by the GBLM. Thus, shutting down the server instance does not involve remastering the resources mastered by the server instance. As a result, shutting down the server instance may take minimal time.
    Type: Grant
    Filed: May 31, 2014
    Date of Patent: November 8, 2016
    Assignee: Oracle International Corporation
    Inventors: Wilson Wai Shun Chan, Angelo Pruscino, Tak Fung Wang
  • Patent number: 9460144
    Abstract: A method for locking resources, including: receiving, by an accelerator, a first request from a first client to lock a first resource; evaluating, by a computer processor of a server, a hash function using an identifier of the first resource as an input to the hash function; identifying, by the computer processor and based on evaluating the hash function, a first hash bucket in a shared memory residing in a physical memory of the server; detecting that the first hash bucket is occupied; and sending the first request to a master lock monitor residing in a user space of the server based at least on detecting that the first hash bucket is occupied.
    Type: Grant
    Filed: January 13, 2012
    Date of Patent: October 4, 2016
    Assignee: Oracle International Corporation
    Inventors: David Brower, Angelo Pruscino, Wilson Chan, Tak Fung Wang
  • Publication number: 20160019253
    Abstract: Techniques for taking one or more nodes of a multi-node database system offline are provided. Initially, the multi-node database system uses a first data access management system (e.g., a distributed lock management system) to manage access to data stored in a database. In response to determining that one or more nodes need to be taken offline or otherwise become unavailable, the remaining nodes implement a second data access management system (e.g., an affinity-based access system) to manage access to data stored in the database. After the offline nodes are brought back online, all the nodes in the multi-node database system implement the first data access management system again. The transitions between the two data access management system may involve multiple phases that involve communicating different types of information between nodes that are taken offline and nodes that are not taken offline.
    Type: Application
    Filed: July 21, 2014
    Publication date: January 21, 2016
    Inventors: Wilson Wai Shun Chan, Tolga Yurek, Tak Fung Wang
  • Publication number: 20150347239
    Abstract: Techniques for mastering resources in a cluster of nodes are provided. A global backup lock manager (GBLM) is maintained for a cluster of nodes that implement distributed lock management. Before a server instance is taken down, for example, for maintenance purposes, such as installing a new version of the server instance code, the mastership information that the server instance stores is reflected in the mastership information maintained by the GBLM. Thus, shutting down the server instance does not involve remastering the resources mastered by the server instance. As a result, shutting down the server instance may take minimal time.
    Type: Application
    Filed: May 31, 2014
    Publication date: December 3, 2015
    Applicant: Oracle International Corporation
    Inventors: Wilson Wai Shun Chan, Angelo Pruscino, Tak Fung Wang
  • Patent number: 9128895
    Abstract: Described herein are techniques for dynamically monitoring and managing resource usages of processes running on a node in a multi-node database system. High resource usages of processes can be proactively detected and alleviated, thereby making such a node to perform significantly better than otherwise.
    Type: Grant
    Filed: February 19, 2009
    Date of Patent: September 8, 2015
    Assignee: ORACLE INTERNATIONAL CORPORATION
    Inventors: Wilson Chan, Angelo Pruscino, Tak Fung Wang, Cheng-Lu Hsu
  • Patent number: 9027025
    Abstract: Techniques for monitoring resources of a computer system are provided. A monitoring process collects and reports utilization data for one or more resources of a computer system, such as CPU, memory, disk I/O, and network I/O. Instead of reporting just an average of the collected data over a period of time (e.g., 10 seconds), the monitoring process at least reports individually collected resource utilization values. If one or more of the utilization values exceed specified thresholds for the respective resources, then an alert may be generated. In one approach, the monitoring process is made a real-time priority process in the computer system to ensure that the memory used by the monitoring process is not swapped out of memory. Also, being a real-time priority process ensures that the monitoring process obtains a CPU in order collect resource utilization data even when the computer system is in a starvation mode.
    Type: Grant
    Filed: April 17, 2007
    Date of Patent: May 5, 2015
    Assignee: Oracle International Corporation
    Inventors: Michael Zoll, Wilson Wai Shun Chan, Angelo Pruscino, Tak Fung Wang
  • Publication number: 20130185270
    Abstract: A method for locking resources, including: receiving, by an accelerator, a first request from a first client to lock a first resource; evaluating, by a computer processor of a server, a hash function using an identifier of the first resource as an input to the hash function; identifying, by the computer processor and based on evaluating the hash function, a first hash bucket in a shared memory residing in a physical memory of the server; detecting that the first hash bucket is occupied; and sending the first request to a master lock monitor residing in a user space of the server based at least on detecting that the first hash bucket is occupied.
    Type: Application
    Filed: January 13, 2012
    Publication date: July 18, 2013
    Applicant: ORACLE INTERNATIONAL CORPORATION
    Inventors: David Brower, Angelo Pruscino, Wilson Chan, Tak Fung Wang
  • Patent number: 8365177
    Abstract: Measuring processes are started at a plurality of priority levels. A different one of the measuring processes is started for each of the priority levels. Subsequently, for each of the measuring processes, it is determined whether each measuring process is scheduled for executing at a respective target rate. In response to determining that a particular measuring process of the measuring processes is not scheduled for executing at a particular target rate, resource allocation to at least one monitored process running at a particular level of the priority levels is adjusted. The at least one monitored process is not any of the measuring processes.
    Type: Grant
    Filed: January 20, 2009
    Date of Patent: January 29, 2013
    Assignee: Oracle International Corporation
    Inventors: Wilson Chan, Angelo Pruscino, Ahmed S. Abbas, Tak Fung Wang
  • Patent number: 8220001
    Abstract: Described herein are techniques for adaptively managing timers that are used in various layers of a node. In many cases, the number of timers that occur in the system is reduced by proactively and reactively adjusting values of the timers based on conditions affecting the system, thereby making such a system to perform significantly better and more resiliently than otherwise.
    Type: Grant
    Filed: February 13, 2009
    Date of Patent: July 10, 2012
    Assignee: Oracle International Corporation
    Inventors: Wilson Chan, Deepti Srivastava, Tolga Yurek, Yu Kin Ho, John Hsu, Tak Fung Wang, Angelo Pruscino
  • Patent number: 8117488
    Abstract: Database server instances in a database server cluster broadcast, to other instances in the cluster, information concerning certain problem events. Because each server instance is aware of problems that other server instances are experiencing, each server instance is enabled to make more intelligent decisions regarding the actions that it should perform in response to the problems that the server instance is experiencing. Instead of terminating itself, a server instance might opt to wait for a longer amount of time for an operation to complete. The server instance may do so due to the server instance having received information that indicates that other server instances are experiencing similar problems. Whenever the information received from other server instances makes it appear that a problem is unlikely to be solved in the cluster as a whole by terminating a server instance, that server instance may continue to wait instead of terminating itself.
    Type: Grant
    Filed: October 23, 2009
    Date of Patent: February 14, 2012
    Assignee: Oracle International Corporation
    Inventors: Wilson Chan, Angelo Pruscino, Tak Fung Wang
  • Patent number: 8103642
    Abstract: A method and apparatus for managing locks in a database system is provided. A master node grants a lock on a first resource and a group of resources that includes the first resource to a first requester node. The requester node receives a mapping corresponding to the group of resources that may indicate that a lock already exists for a second resource in the group. If the requester node desires a lock on a resource located in the group, the requester node grants itself the lock without notifying the master node. A second requester node requests a lock for a particular resource in the group of resources. The first requester node grants the lock on the particular resource and updates the mapping to indicate that a different node holds a lock for the particular resource.
    Type: Grant
    Filed: February 3, 2006
    Date of Patent: January 24, 2012
    Assignee: Oracle International Corporation
    Inventors: Eugene Ho, Wilson Wai Shun Chan, Tak Fung Wang, Angelo Pruscino, Tolga Yurek
  • Publication number: 20110099412
    Abstract: Database server instances in a database server cluster broadcast, to other instances in the cluster, information concerning certain problem events. Because each server instance is aware of problems that other server instances are experiencing, each server instance is enabled to make more intelligent decisions regarding the actions that it should perform in response to the problems that the server instance is experiencing. Instead of terminating itself, a server instance might opt to wait for a longer amount of time for an operation to complete. The server instance may do so due to the server instance having received information that indicates that other server instances are experiencing similar problems. Whenever the information received from other server instances makes it appear that a problem is unlikely to be solved in the cluster as a whole by terminating a server instance, that server instance may continue to wait instead of terminating itself.
    Type: Application
    Filed: October 23, 2009
    Publication date: April 28, 2011
    Applicant: ORACLE INTERNATIONAL CORPORATION
    Inventors: Wilson Chan, Angelo Pruscino, Tak Fung Wang
  • Publication number: 20100211959
    Abstract: Described herein are techniques for adaptively managing timers that are used in various layers of a node. In many cases, the number of timers that occur in the system is reduced by proactively and reactively adjusting values of the timers based on conditions affecting the system, thereby making such a system to perform significantly better and more resiliently than otherwise.
    Type: Application
    Filed: February 13, 2009
    Publication date: August 19, 2010
    Applicant: ORACLE INTERNATIONAL CORPORATION
    Inventors: Wilson Chan, Deepti Srivastava, Tolga Yurek, Yu Kin Ho, John Hsu, Tak Fung Wang, Angelo Pruscino
  • Publication number: 20100211681
    Abstract: Described herein are techniques for dynamically monitoring and managing resource usages of processes running on a node in a multi-node database system. High resource usages of processes can be proactively detected and alleviated, thereby making such a node to perform significantly better than otherwise.
    Type: Application
    Filed: February 19, 2009
    Publication date: August 19, 2010
    Applicant: ORACLE INTERNATIONAL CORPORATION
    Inventors: Wilson Chan, Angelo Pruscino, Tak Fung Wang, Cheng-Lu Hsu
  • Publication number: 20100186016
    Abstract: Described herein are techniques for dynamically monitoring and rebalancing priority levels of processes running on a computing node. Runaway processes and starved processes can be proactively detected and prevented, thereby making such a node to perform significantly better and more responsively than otherwise.
    Type: Application
    Filed: January 20, 2009
    Publication date: July 22, 2010
    Applicant: ORACLE INTERNATIONAL CORPORATION
    Inventors: Wilson Chan, Angelo Pruscino, Ahmed S. Abbas, Tak Fung Wang
  • Patent number: 7702660
    Abstract: In a multi-node database system, a list of data blocks to perform recovery operations on in the event of failure of a given node is dynamically maintained on another node. List is available when the given node fails, and allows the database to be made available more quickly.
    Type: Grant
    Filed: December 12, 2006
    Date of Patent: April 20, 2010
    Assignee: Oracle International Corporation
    Inventors: Wilson Wai Shun Chan, Vinay Srihari, Tak Fung Wang, Tolga Yurek, Angelo Pruscino
  • Publication number: 20080263556
    Abstract: Techniques for monitoring resources of a computer system are provided. A monitoring process collects and reports utilization data for one or more resources of a computer system, such as CPU, memory, disk I/O, and network I/O. Instead of reporting just an average of the collected data over a period of time (e.g., 10 seconds), the monitoring process at least reports individually collected resource utilization values. If one or more of the utilization values exceed specified thresholds for the respective resources, then an alert may be generated. In one approach, the monitoring process is made a real-time priority process in the computer system to ensure that the memory used by the monitoring process is not swapped out of memory. Also, being a real-time priority process ensures that the monitoring process obtains a CPU in order collect resource utilization data even when the computer system is in a starvation mode.
    Type: Application
    Filed: April 17, 2007
    Publication date: October 23, 2008
    Inventors: Michael Zoll, Wilson Wai Shun Chan, Angelo Pruscino, Tak Fung Wang