Patents by Inventor Wilson Chan

Wilson Chan 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: 20100254254
    Abstract: Described herein are techniques for dynamically monitoring process activeness of processes running on a computing node. Problems affecting processes to serve their designated functions on the computing node can be relatively quickly detected and dealt with, thereby making restoring process activeness on the computing node much more quickly than otherwise.
    Type: Application
    Filed: April 6, 2009
    Publication date: October 7, 2010
    Applicant: ORACLE INTERNATIONAL CORPORATION
    Inventors: Wilson Chan, Cheng-Lu Hsu, Angelo Pruscino
  • Patent number: 7809690
    Abstract: A method and apparatus for selecting one or more instances to perform database recovery is provided. According to one aspect, one or more performance metrics are determined for each instance on each node in a cluster. Based on these performance metrics, which may be weighted to give one or more metrics more significance relative to the other metrics, an overall score is determined for each instance on each surviving node when a node in the cluster fails. One or more instances with the highest of these scores are selected. The selected instances are assigned the task of performing the database recovery process. Because instances best able to handle to database recovery process are selected, the database recovery process consumes less time, thereby making data accessible in less time after a node fails.
    Type: Grant
    Filed: July 13, 2004
    Date of Patent: October 5, 2010
    Assignee: Oracle International Corporation
    Inventors: Stefan Pommerenk, Carol Colrain, Wilson Chan, Angelo Pruscino
  • Publication number: 20100242050
    Abstract: A method of deadlock detection is disclosed which adjusts the detection technique based on statistics maintained for tracking the number of actual deadlocks that are detected in a distributed system, and for which types of locks are most frequently involved in deadlocks. When deadlocks occur rarely, the deadlock detection may be tuned down, for example, by reducing a threshold value which determines timeouts for waiting lock requests. When it is determined that actual deadlocks are detected frequently, the processing time for deadlock detection may be reduced, for example, by using parallel forward or backward search operations and/or by according higher priority in deadlock detection processing to locks which are more likely to involve deadlocks.
    Type: Application
    Filed: June 2, 2010
    Publication date: September 23, 2010
    Inventor: Wilson CHAN
  • 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: 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: 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
  • Publication number: 20100174802
    Abstract: Described herein are techniques for using super masters to coordinate accesses by nodes in a database server cluster to data stored in a database. In many cases, the number of inter-nodal messages is reduced, thereby saving the overheads attendant to coordinating accesses in such a system.
    Type: Application
    Filed: January 7, 2009
    Publication date: July 8, 2010
    Applicant: ORACLE INTERNATIONAL CORPORATION
    Inventors: Wilson Chan, Angelo Pruscino, Michael Zoll
  • Publication number: 20100161573
    Abstract: Described herein are techniques for time limited lock ownership. In one embodiment, in response to receiving a request for a lock on a shared resource, the lock is granted and a lock lease period associated with the lock is established. Then, in response to determining that the lock lease period has expired, one or more lock lease expiration procedures are performed. In many cases, the time limited lock ownership may prevent system hanging, timely detect system deadlocks, and/or improve overall performance of the database.
    Type: Application
    Filed: December 19, 2008
    Publication date: June 24, 2010
    Applicant: ORACLE INTERNATIONAL CORPORATION
    Inventors: Wilson Chan, Angelo Pruscino, Michael Zoll
  • Patent number: 7735089
    Abstract: A method of deadlock detection is disclosed which adjusts the detection technique based on statistics maintained for tracking the number of actual deadlocks that are detected in a distributed system, and for which types of locks are most frequently involved in deadlocks. When deadlocks occur rarely, the deadlock detection may be tuned down, for example, by reducing a threshold value which determines timeouts for waiting lock requests. When it is determined that actual deadlocks are detected frequently, the processing time for deadlock detection may be reduced, for example, by using parallel forward or backward search operations and/or by according higher priority in deadlock detection processing to locks which are more likely to involve deadlocks.
    Type: Grant
    Filed: March 8, 2005
    Date of Patent: June 8, 2010
    Assignee: Oracle International Corporation
    Inventor: Wilson Chan
  • Publication number: 20090271794
    Abstract: Systems, methods, and other embodiments associated with avoiding resource blockages and hang states are described. One example computer-implemented method for a clustered computing system includes determining that a first process is waiting for a resource and is in a blocked state. The resource that the first process is waiting for is identified. A blocking process that is holding the resource is then identified. A priority of the blocking process is compared with a priority the first process. If the priority of the blocking process is lower than the priority of the first process, the priority of the blocking process is increase. In this manner the blocking process can be scheduled for execution sooner and thus release the resource.
    Type: Application
    Filed: April 28, 2008
    Publication date: October 29, 2009
    Applicant: Oracle International Corp.
    Inventors: Michael Zoll, Angelo Pruscino, Wilson Chan
  • Publication number: 20090172619
    Abstract: Operations are performed in EDA tools that operate upon partitions or discrete portions of an electronic design, in which the partitions or discrete portions of the design are expanded to account for effects to/from other areas in the design. Identification is made of the portions of the design that are external to the partitions, and depending upon the type of expected effects, would then be considered during optimization and analysis of the partitions. This is implemented by logically expanding the partition to include consideration of the external portions during timing optimization and analysis. By considering an expanded partition for timing optimization and analysis, it is possible to identify unintended problems caused by the timing optimization at an earlier stage of the design process.
    Type: Application
    Filed: December 26, 2007
    Publication date: July 2, 2009
    Applicant: CADENCE DESIGN SYSTEMS, INC.
    Inventors: Oleg Levitsky, Kit Lam Cheong, Wilson Chan, Dongzi Liu
  • Publication number: 20070174541
    Abstract: Techniques are provided for managing caches in a system with multiple caches that may contain different copies of the same data item. Specifically, techniques are provided for coordinating the write-to-disk operations performed on such data items to ensure that older versions of the data item are not written over newer versions, and to reduce the amount of processing required to recover after a failure. Various approaches are provided in which a master is used to coordinate with the multiple caches to cause a data item to be written to persistent storage. Techniques are also provided for managing checkpoints associated with the caches, where the checkpoints are used to determine the position at which to begin processing recovery logs in the event of a failure.
    Type: Application
    Filed: February 20, 2007
    Publication date: July 26, 2007
    Inventors: Sashikanth Chandrasekaran, Roger Bamford, William Bridge, David Brower, Neil Macnaughton, Wilson Chan, Vinay Srihari
  • Publication number: 20070168319
    Abstract: Techniques are provided for managing caches in a system with multiple caches that may contain different copies of the same data item. Specifically, techniques are provided for coordinating the write-to-disk operations performed on such data items to ensure that older versions of the data item are not written over newer versions, and to reduce the amount of processing required to recover after a failure. Various approaches are provided in which a master is used to coordinate with the multiple caches to cause a data item to be written to persistent storage. Techniques are also provided for managing checkpoints associated with the caches, where the checkpoints are used to determine the position at which to begin processing recovery logs in the event of a failure.
    Type: Application
    Filed: February 20, 2007
    Publication date: July 19, 2007
    Applicant: Oracle International Corporation
    Inventors: Sashikanth Chandrasekaran, Roger Bamford, William Bridge, David Brower, Neil MacNaughton, Wilson Chan, Vinay Srihari
  • Patent number: 7209990
    Abstract: Locks are placed in a convert queue in a way that compensates for queue bias. Rather than always placing a remote lock in a queue at the tail, a remote lock can be placed further up in the queue, and possibly be interleaved with local locks. As a result, remote processes are granted locks more frequently and swiftly. Locks are placed in a convert queue according based on queue placement factors, which are factors accounted for when placing a lock in a queue.
    Type: Grant
    Filed: April 5, 2005
    Date of Patent: April 24, 2007
    Assignee: Oracle International Corporation
    Inventors: Angelo Pruscino, Michael Zoll, Wilson Chan
  • Publication number: 20070043726
    Abstract: Techniques are provided for responding to the termination of a node by selecting another node, and assigning to the selected node the affinity relationships that existed between the terminated node and one or more objects. The resources that belong to the objects involved in the affinity relationships are remastered to the selected node. The selected node then performs recovery of the resources that had been opened by the terminated node and/or serves as a failover node to execute the transactions that had been executing on the terminated node.
    Type: Application
    Filed: August 16, 2005
    Publication date: February 22, 2007
    Inventors: Wilson Chan, Angelo Pruscino, Stefan Roesch, Michael Zoll, Tolga Yurek
  • Publication number: 20070043728
    Abstract: Techniques are provided for responding to the termination of a node executing one or more transactions by selecting another node to complete the transactions, and assigning to the selected node the affinity relationships that existed between the terminated node and the objects being accessed by said transactions.
    Type: Application
    Filed: November 18, 2005
    Publication date: February 22, 2007
    Applicant: ORACLE INTERNATIONAL CORPORATION
    Inventors: Wilson Chan, Angelo Pruscino, Stefan Roesch, Michael Zoll, Tolga Yurek
  • Publication number: 20060288144
    Abstract: Techniques are described herein for handling lock-related inconsistencies. As mentioned above, such inconsistencies occur when two or more sets of lock information, relating to the same resource, convey inconsistent information about locks requested and/or granted on that resource. In general, the techniques involve causing the locally-stored lock information about a resource to be sent to the master node of the resource. The master node of the resource compares the lock information thus received against the lock information maintained by the master node. Based on the comparison, the master node determines how to resolve the lock-related inconsistency, and sends messages to those nodes that need to change their local lock information for the resource. Once all of the lock information has been made consistent, the resource made available for access. Because the lock-related inconsistency is resolved without restarting nodes, the availability required to correct the inconsistency.
    Type: Application
    Filed: June 16, 2005
    Publication date: December 21, 2006
    Inventors: Wilson Chan, Angelo Pruscino, Stefan Roesch, Michael Zoll, Tolga Yurek, Eugene Ho
  • Publication number: 20060224805
    Abstract: Locks are placed in a convert queue in a way that compensates for queue bias. Rather than always placing a remote lock in a queue at the tail, a remote lock can be placed further up in the queue, and possibly be interleaved with local locks. As a result, remote processes are granted locks more frequently and swiftly. Locks are placed in a convert queue according based on queue placement factors, which are factors accounted for when placing a lock in a queue.
    Type: Application
    Filed: April 5, 2005
    Publication date: October 5, 2006
    Inventors: Angelo Pruscino, Michael Zoll, Wilson Chan
  • Publication number: 20060206901
    Abstract: A method of deadlock detection is disclosed which adjusts the detection technique based on statistics maintained for tracking the number of actual deadlocks that are detected in a distributed system, and for which types of locks are most frequently involved in deadlocks. When deadlocks occur rarely, the deadlock detection may be tuned down, for example, by reducing a threshold value which determines timeouts for waiting lock requests. When it is determined that actual deadlocks are detected frequently, the processing time for deadlock detection may be reduced, for example, by using parallel forward or backward search operations and/or by according higher priority in deadlock detection processing to locks which are more likely to involve deadlocks.
    Type: Application
    Filed: March 8, 2005
    Publication date: September 14, 2006
    Applicant: ORACLE INTERNATIONAL CORPORATION
    Inventor: Wilson Chan
  • Publication number: 20060195648
    Abstract: Techniques are provided for managing caches in a system with multiple caches that may contain different copies of the same data item. Specifically, techniques are provided for coordinating the write-to-disk operations performed on such data items to ensure that older versions of the data item are not written over newer versions, and to reduce the amount of processing required to recover after a failure. Various approaches are provided in which a master is used to coordinate with the multiple caches to cause a data item to be written to persistent storage. Techniques are also provided for managing checkpoints associated with the caches, where the checkpoints are used to determine the position at which to begin processing recovery logs in the event of a failure.
    Type: Application
    Filed: April 17, 2006
    Publication date: August 31, 2006
    Applicant: ORACLE INTERNATIONAL CORPORATION
    Inventors: Sashikanth Chandrasekaran, Roger Bamford, William Bridge, David Brower, Neil MacNaughton, Wilson Chan, Vinay Srihari