Patents by Inventor Neil MacNaughton

Neil MacNaughton 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: 10339069
    Abstract: Techniques are provided for managing cached data objects in a mixed workload environment. In an embodiment, a database system receives request to access a target data object. The database system determines whether the request to access the target data object is associated with a first type of workload or a second type of workload. In response to determining that the request is associated with the first type of workload, the target data object replaces a least recently used data object in a cache. In response to determining that the request is associated with the second type of workload, the target data object is cached based on an associated access-level value.
    Type: Grant
    Filed: March 14, 2013
    Date of Patent: July 2, 2019
    Assignee: ORACLE INTERNATIONAL CORPORATION
    Inventors: Adam Y. Lee, J. William Lee, Dmitry Mikhailovich Potapov, Neil MacNaughton, Vipin Gokhale, Bharat Chandra Baddepudi, David Vengerov
  • Patent number: 10216781
    Abstract: Techniques are described for maintaining coherency of a portion of a database object populated in the volatile memories of multiple nodes in a database cluster. The techniques involve maintaining a local invalidation bitmap for chunks of data stored in memory in each particular node in the cluster by tracking locks granted by a lock manager. During a pre-loading operation, each given node requests a set of shared locks associated with the chunks of data to be store in the given node's memory. When a request to release one of these shared locks occurs, the in-memory copy of those data items may be invalidated in the node releasing its shared lock.
    Type: Grant
    Filed: December 29, 2015
    Date of Patent: February 26, 2019
    Assignee: Oracle International Corporation
    Inventors: Sanket Hase, Neil MacNaughton, Vivekanandhan Raja, Atrayee Mullick, Vineet Marwah, Amit Ganesh
  • Patent number: 10067974
    Abstract: Techniques are herein described for loading a portion of a database object into volatile memory without blocking database manipulation language transactions. The techniques involve invalidating data items loaded from blocks affected by a transaction, referred to as a straddling transaction that started before the load time and committed after the load time. Identifying these straddling transactions involves reviewing one or more transaction lists associated with the set of data items loaded in memory. The transaction list may be read in reverse temporal order of commit to identify a transaction meeting the criteria of starting before the load start, not committing before the load time, and affecting a data item loaded in memory.
    Type: Grant
    Filed: December 29, 2015
    Date of Patent: September 4, 2018
    Assignee: Oracle International Corporation
    Inventors: Vivekanandhan Raja, Atrayee Mullick, Sanket Hase, Sukhada Pendse, Amit Ganesh, Vineet Marwah, Neil MacNaughton
  • Patent number: 9519589
    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 transferring data items and locks associated with the data items from one node to another.
    Type: Grant
    Filed: August 8, 2011
    Date of Patent: December 13, 2016
    Assignee: ORACLE INTERNATIONAL CORPORATION
    Inventors: Sashikanth Chandrasekaran, Roger J. Bamford, William H. Bridge, David Brower, Neil MacNaughton, Wilson Wai Shun Chan, Vinay Srihari
  • Patent number: 9514160
    Abstract: A method, system, and computer program product. The method for non-intrusive redeployment of a standby database facility comprises configuring a database system having a shared lock manager process to synchronize two or more concurrent access instances, then granting lock requests for access to a cache of database blocks. At some moment in time, the shared lock manager process may fail, and a monitor process detects the failure or other stoppage of the shared lock manager process. A new shared lock manager process and other processes are started, at least one of which serves for identifying the database blocks in the cache that have not yet been written to the database. The identified blocks are formed into a recovery set of redo operations. During this time, incoming requests for access to the cache of database blocks are briefly blocked, at least until the recovery set of redo operations has been formed.
    Type: Grant
    Filed: March 11, 2013
    Date of Patent: December 6, 2016
    Assignee: ORACLE INTERNATIONAL CORPORATION
    Inventors: Shanshan Song, Yunrui Li, Tolga Yurek, Mahesh Girkar, Neil MacNaughton
  • Publication number: 20160350363
    Abstract: Techniques are herein described for loading a portion of a database object into volatile memory without blocking database manipulation language transactions. The techniques involve invalidating data items loaded from blocks affected by a transaction, referred to as a straddling transaction that started before the load time and committed after the load time. Identifying these straddling transactions involves reviewing one or more transaction lists associated with the set of data items loaded in memory. The transaction list may be read in reverse temporal order of commit to identify a transaction meeting the criteria of starting before the load start, not committing before the load time, and affecting a data item loaded in memory.
    Type: Application
    Filed: December 29, 2015
    Publication date: December 1, 2016
    Inventors: Vivekanandhan Raja, Atrayee Mullick, Sanket Hase, Sukhada Pendse, Amit Ganesh, Vineet Marwah, Neil MacNaughton
  • Publication number: 20160350352
    Abstract: Techniques are described for maintaining coherency of a portion of a database object populated in the volatile memories of multiple nodes in a database cluster. The techniques involve maintaining a local invalidation bitmap for chunks of data stored in memory in each particular node in the cluster by tracking locks granted by a lock manager. During a pre-loading operation, each given node requests a set of shared locks associated with the chunks of data to be store in the given node's memory. When a request to release one of these shared locks occurs, the in-memory copy of those data items may be invalidated in the node releasing its shared lock.
    Type: Application
    Filed: December 29, 2015
    Publication date: December 1, 2016
    Inventors: SANKET HASE, NEIL MACNAUGHTON, VIVEKANANDHAN RAJA, ATRAYEE MULLICK, VINEET MARWAH, AMIT GANESH
  • Publication number: 20140095802
    Abstract: Techniques are provided for managing cached data objects in a mixed workload environment. In an embodiment, a database system receives request to access a target data object. The database system determines whether the request to access the target data object is associated with a first type of workload or a second type of workload. In response to determining that the request is associated with the first type of workload, the target data object replaces a least recently used data object in a cache. In response to determining that the request is associated with the second type of workload, the target data object is cached based on an associated access-level value.
    Type: Application
    Filed: March 14, 2013
    Publication date: April 3, 2014
    Applicant: Oracle International Corporation
    Inventors: Adam Y. Lee, J. William Lee, Dmitry Mikhailovich Potapov, Neil MacNaughton, Vipin Gokhale, Bharat Chandra Baddepudi, David Vengerov
  • Patent number: 8224977
    Abstract: Described herein are techniques for global synchronization that under various scenarios eliminate or defer the acquisition of global locks. In many cases, the need to acquire global locks is eliminated, thereby saving the overhead attendant to processing global locks.
    Type: Grant
    Filed: November 6, 2007
    Date of Patent: July 17, 2012
    Assignee: Oracle International Corporation
    Inventors: Juan Loaiza, Sashikanth Chandrasekaran, Neil MacNaughton
  • Publication number: 20110295822
    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 transferring data items and locks associated with the data items from one node to another.
    Type: Application
    Filed: August 8, 2011
    Publication date: December 1, 2011
    Inventors: Sashikanth Chandrasekaran, Roger J. Bamford, William H. Bridge, David Brower, Neil MacNaughton, Wilson Wai Shun Chan, Vinay Srihari
  • Patent number: 8051046
    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: Grant
    Filed: February 20, 2007
    Date of Patent: November 1, 2011
    Assignee: Oracle International Corporation
    Inventors: Sashikanth Chandrasekaran, Roger J. Bamford, William H. Bridge, David Brower, Neil MacNaughton, Wilson Wai Shun Chan, Vinay Srihari
  • Patent number: 7991775
    Abstract: Described herein are techniques for generating a global checkpoint system change number and computing a snapshot query using the global checkpoint system change number without a need to acquire global locks. In many cases, the need to acquire global locks is eliminated, thereby saving the overhead attendant to processing global locks.
    Type: Grant
    Filed: October 2, 2008
    Date of Patent: August 2, 2011
    Assignee: Oracle International Corporation
    Inventors: Neil MacNaughton, Tirthankar Lahiri, Varun Malhotra
  • Publication number: 20110173169
    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: March 23, 2011
    Publication date: July 14, 2011
    Applicant: ORACLE INTERNATIONAL CORPORATION
    Inventors: Sashikanth Chandrasekaran, Roger J. Bamford, William H. Bridge, David Brower, Neil Macnaughton, Wilson Wai Shun Chan, Vinay Srihari
  • Patent number: 7930278
    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: Grant
    Filed: February 20, 2007
    Date of Patent: April 19, 2011
    Assignee: Oracle International Corporation
    Inventors: Sashikanth Chandrasekaran, Roger J. Bamford, William H. Bridge, David Brower, Neil Macnaughton, Wilson Wai Shun Chan, Vinay Srihari
  • Patent number: 7921090
    Abstract: Methods and apparatuses for providing access to data in a cluster database are described. Embodiments of the invention include identifying situations in which many nodes require relatively equal access to a data block, and taking appropriate measures to improve the performance of the system in these situations. For example, a node may automatically downgrade its lock from an X lock to an S lock as soon as it has finished a modification of the data. S locks are sent to other nodes in the system as soon as a modification is complete. Modifications to the data are also sent to other nodes in the system as soon as a modification is complete. Depending on the size of the data modification, the entire data block may be sent, or only the modifications to the data may be sent.
    Type: Grant
    Filed: June 9, 2006
    Date of Patent: April 5, 2011
    Assignee: Oracle International Corporation
    Inventors: Eugene Ho, Kotaro Ono, Neil Macnaughton, Michael Zoll, Herbert van den Bergh
  • Patent number: 7734580
    Abstract: A standby database system or another replica data system replicates changes, made to data blocks at a source database system or another primary data copy, to replicas of the data blocks at the standby database system or other replica. While replicating the changes to the data blocks thereof, the standby database system (or other replica) receives queries (or reads) issued thereto and computes the queries based on data read from the data blocks thereof.
    Type: Grant
    Filed: January 29, 2007
    Date of Patent: June 8, 2010
    Assignee: Oracle International Corporation
    Inventors: Tirthankar Lahiri, Kiran Goyal, Jia Shi, Wei-Ming Hu, Neil MacNaughton, Jaebock Lee, Bharat Baddepudi, Yunrui Li, J. William Lee, Vipin Gokhale, Mark Dilman, Niloy Mukherjee, Vinay Srihari, Kumar Rajamani, Hochak Hung
  • Publication number: 20100036843
    Abstract: Described herein are techniques for generating a global checkpoint system change number and computing a snapshot query using the global checkpoint system change number without a need to acquire global locks. In many cases, the need to acquire global locks is eliminated, thereby saving the overhead attendant to processing global locks.
    Type: Application
    Filed: October 2, 2008
    Publication date: February 11, 2010
    Applicant: ORACLE INTERNATIONAL CORPORATION
    Inventors: Neil MacNaughton, Tirthankar Lahiri, Varun Malhotra
  • Patent number: 7600063
    Abstract: Techniques are provided for performing changes to a resource governed by a locking mechanism. An entity (such as a server instance in a database system cluster) requests permission to modify the resource. In response to the request, the entity receives a first lock on the resource, which grants permission to perform the change to the resource without making the change permanent. After receiving the first lock, the entity performs the change to a copy of the resource that resides in shared memory without making another copy of the resource. After performing the change and until receiving permission to make the change permanent, the entity prevents the change to the resource from becoming permanent. After performing the change, the entity receives a second lock on the resource, which grants the entity permission to make the change permanent. After receiving the second lock, the entity ceases to prevent the change to the resource from becoming permanent.
    Type: Grant
    Filed: September 15, 2006
    Date of Patent: October 6, 2009
    Assignee: Oracle International Corporation
    Inventors: Juan Loaiza, Neil MacNaughton, Eugene Ho, Vipin Gokhale, Kiran Goyal, Tirthankar Lahiri
  • Patent number: 7577690
    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: Grant
    Filed: April 17, 2006
    Date of Patent: August 18, 2009
    Assignee: Oracle International Corporation
    Inventors: Sashikanth Chandrasekaran, Roger J. Bamford, William H. Bridge, David Brower, Neil MacNaughton, Wilson Wai Shun Chan, Vinay Srihari
  • Patent number: 7447786
    Abstract: Described herein are techniques for synchronizing access to resources in a multi node system by establishing a resource as a read-mostly resource based on one or more criteria, and allowing a node to acquire a shared lock, not granted by the master, on the read-mostly resource where no anti-lock exists for the resource.
    Type: Grant
    Filed: May 5, 2006
    Date of Patent: November 4, 2008
    Assignee: Oracle International Corporation
    Inventors: Juan Loaiza, Sashikanth Chandrasekaran, Neil Macnaughton