Patents by Inventor Nigel G. Slinger

Nigel G. Slinger 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: 9917885
    Abstract: According to one embodiment of the present invention, a system compares database transactions to corresponding performance information to identify conforming database transactions with an acceptable deviation from the performance information and outlier database transactions beyond the acceptable deviation from the performance information. The system aggregates information from a threshold quantity of conforming database transactions into an aggregated record, wherein the threshold quantity is dynamically adjusted, and generates a record for each outlier database transaction, wherein conditions for identifying the outlier database transactions are dynamically adjusted. Embodiments of the present invention further include a method and computer program product for managing database transactions in substantially the same manners described above.
    Type: Grant
    Filed: July 30, 2013
    Date of Patent: March 13, 2018
    Assignee: International Business Machines Corporation
    Inventors: John J. Campbell, Daniel Kozin, Nigel G. Slinger, John B. Tobler
  • Publication number: 20180067974
    Abstract: An approach for index B-tree page creation associated with linear sequential insertions in database management systems (DBMS). A linear pre-splitter receives a current index leaf page for linear sequential insertion. The linear pre-splitter asynchronously creates index leaf pages where the current index leaf page is in a predetermined position at least one page away from a last index leaf page. The linear pre-splitter updates index leaf page position identifiers associated with the index leaf pages where the index leaf page position identifiers link the index leaf pages and the last index leaf page and the linear pre-splitter inserts index leaf page identifiers and index key metadata associated with each of the index leaf pages into index non-leaf pages.
    Type: Application
    Filed: November 14, 2017
    Publication date: March 8, 2018
    Inventors: Min Fang, Di Jin, Zhen Yu Shi, Nigel G. Slinger, Shu Wang, Li Fei Zheng, Wen Jie Zhu
  • Patent number: 9910879
    Abstract: Data records may be managed in a relational database by monitoring, a record length for a first data record in a page of memory, an amount of free space in the page, and a page length. In response to receiving an operator command to replace the first data record with a second data record, a database management system may determine whether an estimated record length of a compressed second data record is outside of the amount of free space in the page. In response to determining the estimated record length of a compressed second data record is outside of the amount of free space in the page, the database management system may determine whether an estimated length of a compressed page is outside of the page length. In response to determining the estimated length of a compressed page is within the page length, the page may be compressed.
    Type: Grant
    Filed: November 29, 2016
    Date of Patent: March 6, 2018
    Assignee: International Business Machines Corporation
    Inventors: Min Fang, Di Jin, Zhen Yu Shi, Nigel G. Slinger, Shu Wang, Li Fei Zheng, Wen Jie Zhu
  • Publication number: 20180032560
    Abstract: An approach for index B-tree page creation associated with linear sequential insertions in database management systems (DBMS). A linear pre-splitter receives a current index leaf page for linear sequential insertion. The linear pre-splitter asynchronously creates index leaf pages where the current index leaf page is in a predetermined position at least one page away from a last index leaf page. The linear pre-splitter updates index leaf page position identifiers associated with the index leaf pages where the index leaf page position identifiers link the index leaf pages and the last index leaf page and the linear pre-splitter inserts index leaf page identifiers and index key metadata associated with each of the index leaf pages into index non-leaf pages.
    Type: Application
    Filed: July 29, 2016
    Publication date: February 1, 2018
    Inventors: Min Fang, Di Jin, Zhen Yu Shi, Nigel G. Slinger, Shu Wang, Li Fei Zheng, Wen Jie Zhu
  • Publication number: 20170322957
    Abstract: Allocating free space in a database table. Statistics associated with records in a database are received, including an average record byte size for records stored in the database table. A primary free space byte size for record updates is determined, including comparing a preliminary free space byte size to the average record byte size and a byte size of a record subjected to a database operation. Based on the primary free space byte size, free space at the page level of the database table is allocated.
    Type: Application
    Filed: July 31, 2017
    Publication date: November 9, 2017
    Inventors: Min Fang, Di Jin, Zhenyu Shi, Nigel G. Slinger, Shu Wang, Li Fei Zheng, Wen Jie Zhu
  • Publication number: 20170277725
    Abstract: Allocating free space in a database table. Statistics associated with records in a database are received, including an average record byte size for records stored in the database table. A primary free space byte size for record updates is determined, including comparing a preliminary free space byte size to the average record byte size and a byte size of a record subjected to a database operation. Based on the primary free space byte size, free space at the page level of the database table is allocated.
    Type: Application
    Filed: March 23, 2016
    Publication date: September 28, 2017
    Inventors: Min Fang, Di Jin, Zhenyu Shi, Nigel G. Slinger, Shu Wang, Li Fei Zheng, Wen Jie Zhu
  • Patent number: 9774662
    Abstract: According to one embodiment of the present invention, a system compares database transactions to corresponding performance information to identify conforming database transactions with an acceptable deviation from the performance information and outlier database transactions beyond the acceptable deviation from the performance information. The system aggregates information from a threshold quantity of conforming database transactions into an aggregated record, wherein the threshold quantity is dynamically adjusted, and generates a record for each outlier database transaction, wherein conditions for identifying the outlier database transactions are dynamically adjusted. Embodiments of the present invention further include a method and computer program product for managing database transactions in substantially the same manners described above.
    Type: Grant
    Filed: September 22, 2014
    Date of Patent: September 26, 2017
    Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: John J. Campbell, Daniel Kozin, Nigel G. Slinger, John B. Tobler
  • Publication number: 20170154070
    Abstract: According to one embodiment of the present invention, a system for processing a database query stores one or more result sets for one or more first database queries in a data store. The system receives a second database query and compares the second database query to the one or more first database queries to determine presence of a corresponding result set in the data store for the second database query. The system provides the corresponding result set from the data store for the second database query based on the comparison. Embodiments of the present invention further include a method and computer program product for processing a database query in substantially the same manners described above.
    Type: Application
    Filed: February 14, 2017
    Publication date: June 1, 2017
    Inventors: Arthur Marais, Christopher J. Munson, Nigel G. Slinger, John B. Tobler
  • Publication number: 20170153979
    Abstract: According to one embodiment of the present invention, a system for processing a database query stores one or more result sets for one or more first database queries in a data store. The system receives a second database query and compares the second database query to the one or more first database queries to determine presence of a corresponding result set in the data store for the second database query. The system provides the corresponding result set from the data store for the second database query based on the comparison. Embodiments of the present invention further include a method and computer program product for processing a database query in substantially the same manners described above.
    Type: Application
    Filed: February 14, 2017
    Publication date: June 1, 2017
    Inventors: Arthur Marais, Christopher J. Munson, Nigel G. Slinger, John B. Tobler
  • Publication number: 20170116246
    Abstract: As disclosed herein a method, executed by a computer, includes storing, by one or more processors, entries associated with an index to a first buffer of at least two buffers allocated to the index, and moving, by a batch operation, by one or more processors, entries in the first buffer into an index page for the index in response to an entry movement condition being met. The method further includes storing, by one or more processors, new entries associated with the index to another buffer of the at least two buffers while moving the entries in the first buffer. A computer program product corresponding to the above method is also disclosed herein. A computer program product and computer system corresponding to the above method are also disclosed herein.
    Type: Application
    Filed: October 21, 2015
    Publication date: April 27, 2017
    Inventors: Min Fang, Di Jin, Zhen Yu Shi, Nigel G. Slinger, Shu Wang, Li Fei Zheng, Wen Jie Zhu
  • Patent number: 9613097
    Abstract: According to one embodiment of the present invention, a system for processing a database query stores one or more result sets for one or more first database queries in a data store. The system receives a second database query and compares the second database query to the one or more first database queries to determine presence of a corresponding result set in the data store for the second database query. The system provides the corresponding result set from the data store for the second database query based on the comparison. Embodiments of the present invention further include a method and computer program product for processing a database query in substantially the same manners described above.
    Type: Grant
    Filed: November 24, 2014
    Date of Patent: April 4, 2017
    Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Arthur Marais, Christopher J. Munson, Nigel G. Slinger, John B. Tobler
  • Patent number: 9613096
    Abstract: According to one embodiment of the present invention, a system for processing a database query stores one or more result sets for one or more first database queries in a data store. The system receives a second database query and compares the second database query to the one or more first database queries to determine presence of a corresponding result set in the data store for the second database query. The system provides the corresponding result set from the data store for the second database query based on the comparison. Embodiments of the present invention further include a method and computer program product for processing a database query in substantially the same manners described above.
    Type: Grant
    Filed: March 4, 2014
    Date of Patent: April 4, 2017
    Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Arthur Marais, Christopher J. Munson, Nigel G. Slinger, John B. Tobler
  • Publication number: 20170091245
    Abstract: Embodiments of the present invention provide computer-implemented methods, computer systems and computer program products. According to one embodiment of the present invention, an index of a database is obtained, where the index includes at least one node associated with index information of at least one old data entry that has been deleted from the database, and the node is marked as invalid. Then, a node included in the index is selected based on a key value in index information of a new data entry in response to the new data entry being inserted into the database. Next, the selected node is updated with the index information of the new data entry.
    Type: Application
    Filed: September 28, 2015
    Publication date: March 30, 2017
    Inventors: Min Fang, Di Jin, Zhenyu Shi, Nigel G. Slinger, Bart J.L. Steegmans, Shu Wang, Li Fei Zheng, Wen Jie Zhu
  • Publication number: 20170068697
    Abstract: Data records may be managed in a relational database by monitoring, a record length for a first data record in a page of memory, an amount of free space in the page, and a page length. In response to receiving an operator command to replace the first data record with a second data record, a database management system may determine whether an estimated record length of a compressed second data record is outside of the amount of free space in the page. In response to determining the estimated record length of a compressed second data record is outside of the amount of free space in the page, the database management system may determine whether an estimated length of a compressed page is outside of the page length. In response to determining the estimated length of a compressed page is within the page length, the page may be compressed.
    Type: Application
    Filed: November 29, 2016
    Publication date: March 9, 2017
    Inventors: Min Fang, Di Jin, Zhen Yu Shi, Nigel G. Slinger, Shu Wang, Li Fei Zheng, Wen Jie Zhu
  • Publication number: 20170068696
    Abstract: Data records may be managed in a relational database by monitoring, a record length for a first data record in a page of memory, an amount of free space in the page, and a page length. In response to receiving an operator command to replace the first data record with a second data record, a database management system may determine whether an estimated record length of a compressed second data record is outside of the amount of free space in the page. In response to determining the estimated record length of a compressed second data record is outside of the amount of free space in the page, the database management system may determine whether an estimated length of a compressed page is outside of the page length. In response to determining the estimated length of a compressed page is within the page length, the page may be compressed.
    Type: Application
    Filed: November 29, 2016
    Publication date: March 9, 2017
    Inventors: Min Fang, Di Jin, Zhen Yu Shi, Nigel G. Slinger, Shu Wang, Li Fei Zheng, Wen Jie Zhu
  • Patent number: 9564919
    Abstract: Data records may be managed in a relational database by monitoring, a record length for a first data record in a page of memory, an amount of free space in the page, and a page length. In response to receiving an operator command to replace the first data record with a second data record, a database management system may determine whether an estimated record length of a compressed second data record is outside of the amount of free space in the page. In response to determining the estimated record length of a compressed second data record is outside of the amount of free space in the page, the database management system may determine whether an estimated length of a compressed page is outside of the page length. In response to determining the estimated length of a compressed page is within the page length, the page may be compressed.
    Type: Grant
    Filed: April 27, 2016
    Date of Patent: February 7, 2017
    Assignee: International Business Machines Corporation
    Inventors: Min Fang, Di Jin, Zhen Yu Shi, Nigel G. Slinger, Shu Wang, Li Fei Zheng, Wen Jie Zhu
  • Patent number: 9495199
    Abstract: Management is provided for threads of a database system that is subject to a plurality of disparate bottleneck conditions for resources. A monitor thread retrieves, from a first thread, first monitor data for first bottleneck condition of a first type. The monitor thread compares the first monitor data to a trigger level for the first bottleneck condition and then determines, in response to the comparison of the first monitor data to the trigger level, a potential source of the first bottleneck condition. A potential blocker thread is identified based upon the potential source of the first bottleneck condition. The monitor thread retrieves, from the potential blocker thread, second monitor data for a second type of bottleneck condition that is different from the first type of bottleneck condition. Based upon monitor data, a blocking thread is identified, and a particular blocking solution is applied to the blocking thread.
    Type: Grant
    Filed: August 26, 2013
    Date of Patent: November 15, 2016
    Assignee: International Business Machines Corporation
    Inventors: Nigel G. Slinger, John B. Tobler, Wen Jie Zhu
  • Patent number: 9495201
    Abstract: Management is provided for threads of a database system that is subject to a plurality of disparate bottleneck conditions for resources. A monitor thread retrieves, from a first thread, first monitor data for first bottleneck condition of a first type. The monitor thread compares the first monitor data to a trigger level for the first bottleneck condition and then determines, in response to the comparison of the first monitor data to the trigger level, a potential source of the first bottleneck condition. A potential blocker thread is identified based upon the potential source of the first bottleneck condition. The monitor thread retrieves, from the potential blocker thread, second monitor data for a second type of bottleneck condition that is different from the first type of bottleneck condition. Based upon monitor data, a blocking thread is identified, and a particular blocking solution is applied to the blocking thread.
    Type: Grant
    Filed: June 5, 2014
    Date of Patent: November 15, 2016
    Assignee: International Business Machines Corporation
    Inventors: Nigel G. Slinger, John B. Tobler, Wen Jie Zhu
  • Publication number: 20160321142
    Abstract: A computer-implemented method for recovering data and concurrently rebuilding indexes for the recovered data in a database for a system configured to store fewer than all indexes in backup files may include copying data from one or more database files and storing the copied data to one or more backup files. A recovery manager executing on a processor may read the copied data from the one or more backup files and write the copied data to the one or more database files, wherein the data is recovered to the one or more database files. In response to the reading, an index manager executing on the processor may initiate a rebuilding of one or more indexes for the copied data at substantially the same time as the reading of the copied data.
    Type: Application
    Filed: April 28, 2015
    Publication date: November 3, 2016
    Inventors: Min Fang, Di Jin, Zhen Yu Shi, Nigel G. Slinger, Shu Wang, Li Fei Zheng, Wen Jie Zhu
  • Publication number: 20160321145
    Abstract: A computer-implemented method for recovering data and concurrently rebuilding indexes for the recovered data in a database for a system configured to store fewer than all indexes in backup files may include copying data from one or more database files and storing the copied data to one or more backup files. A recovery manager executing on a processor may read the copied data from the one or more backup files and write the copied data to the one or more database files, wherein the data is recovered to the one or more database files. In response to the reading, an index manager executing on the processor may initiate a rebuilding of one or more indexes for the copied data at substantially the same time as the reading of the copied data.
    Type: Application
    Filed: May 27, 2016
    Publication date: November 3, 2016
    Inventors: Min Fang, Di Jin, Zhen Yu Shi, Nigel G. Slinger, Shu Wang, Li Fei Zheng, Wen Jie Zhu