Patents by Inventor Roger D. MacNicol

Roger D. MacNicol 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: 10726016
    Abstract: Techniques are described herein for sharing a dictionary across multiple in-memory compression units (IMCUs). After a dictionary is used to encode a first column vector in a first IMCU, the same dictionary is used to encode a second column vector in a second IMCU. The entries in the dictionary are in sort order to facilitate binary searching when performing value-to-code look-ups. If, during the encoding of the second column vector, values are encountered for which the dictionary does not already have codes, then a “sort-order-boundary” is established after the last entry in the dictionary, and entries for the newly encountered values are added to the dictionary, after the sort-order-boundary. To facilitate value-to-code look-ups, the new entries are also sorted relative to each other, creating a second “sort order set”. A new version of the dictionary may be created when the number of sort order sets in the first version of the dictionary reaches a configurable threshold.
    Type: Grant
    Filed: October 14, 2016
    Date of Patent: July 28, 2020
    Assignee: Oracle International Corporation
    Inventors: Shasank K. Chavan, Prashant Gaharwar, Ajit Mylavarapu, Dina Thomas, Dennis Lui, Sheldon A. K. Lewis, Roger D. Macnicol
  • Patent number: 10678788
    Abstract: Techniques are provided for storing in in-memory unit (IMU) in a lower-storage tier and copying the IMU to DRAM when needed for query processing. Techniques are also provided for copying IMUs to lower tiers of storage when evicted from the cache of higher tiers of storage. Techniques are provided for implementing functionality of IMUs within a storage system, to enable database servers to push tasks, such as filtering, to the storage system where the storage system may access IMUs within its own memory to perform the tasks. Metadata associated with a set of data may be used to indicate whether an IMU for the data should be created by the database server machine or within the storage system.
    Type: Grant
    Filed: October 21, 2016
    Date of Patent: June 9, 2020
    Assignee: Oracle International Corporation
    Inventors: Roger D. Macnicol, Viral Shah, Xia Hua, Jesse Kamp, Shasank K. Chavan, Maria Colgan, Tirthankar Lahiri, Adrian Tsz Him Ng, Krishnan Meiyyappan, Amit Ganesh, Juan R. Loaiza, Kothanda Umamageswaran, Yiran Qin
  • Patent number: 10198363
    Abstract: Techniques are described herein for generating and using in-memory data structures to represent columns in data block sets. In an embodiment, a database management system (DBMS) receives a query for a target data set managed by the DBMS. The query may specify a predicate for a column of the target data set. The predicate may include a filtering value to be compared with row values of the column of the target data set. Prior to accessing data block sets storing the target data set from persistent storage, the DBMS identifies an in-memory summary that corresponds to a data block set, in an embodiment. The in-memory summary may include in-memory data structures, each representing a column stored in the data block set. The DBMS determines that a particular in-memory data structure exists in the in-memory summary that represents a portion of values of the column indicated in the predicate of the query.
    Type: Grant
    Filed: September 16, 2016
    Date of Patent: February 5, 2019
    Assignee: Oracle International Corporation
    Inventors: Roger D. MacNicol, Tirthankar Lahiri, Kothanda Umamageswaran, Adrian Tsz Him Ng, Laura Liaoruo Wang, Krishnan Meiyyappan
  • Patent number: 10042781
    Abstract: Techniques are described herein for generating and using in-memory data structures to represent columns in data block sets. In an embodiment, a database management system (DBMS) receives a query for a target data set managed by the DBMS. The query may specify a predicate for a column of the target data set. The predicate may include a filtering value to be compared with row values of the column of the target data set. Prior to accessing data block sets storing the target data set from persistent storage, the DBMS identifies an in-memory summary that corresponds to a data block set, in an embodiment. The in-memory summary may include in-memory data structures, each representing a column stored in the data block set. The DBMS determines that a particular in-memory data structure exists in the in-memory summary that represents a portion of values of the column indicated in the predicate of the query.
    Type: Grant
    Filed: September 16, 2016
    Date of Patent: August 7, 2018
    Assignee: Oracle International Corporation
    Inventors: Roger D. MacNicol, Tirthankar Lahiri, Kothanda Umamageswaran, Adrian Tsz Him Ng, Laura Liaoruo Wang, Krishnan Meiyyappan
  • Publication number: 20170116136
    Abstract: Techniques are described herein for generating and using in-memory data structures to represent columns in data block sets. In an embodiment, a database management system (DBMS) receives a query for a target data set managed by the DBMS. The query may specify a predicate for a column of the target data set. The predicate may include a filtering value to be compared with row values of the column of the target data set. Prior to accessing data block sets storing the target data set from persistent storage, the DBMS identifies an in-memory summary that corresponds to a data block set, in an embodiment. The in-memory summary may include in-memory data structures, each representing a column stored in the data block set. The DBMS determines that a particular in-memory data structure exists in the in-memory summary that represents a portion of values of the column indicated in the predicate of the query.
    Type: Application
    Filed: September 16, 2016
    Publication date: April 27, 2017
    Inventors: ROGER D. MACNICOL, TIRTHANKAR LAHIRI, KOTHANDA UMAMAGESWARAN, ADRIAN TSZ HIM NG, LAURA LIAORUO WANG, KRISHNAN MEIYYAPPAN
  • Publication number: 20170116269
    Abstract: Techniques are provided for storing in in-memory unit (IMU) in a lower-storage tier and copying the IMU to DRAM when needed for query processing. Techniques are also provided for copying IMUs to lower tiers of storage when evicted from the cache of higher tiers of storage. Techniques are provided for implementing functionality of IMUs within a storage system, to enable database servers to push tasks, such as filtering, to the storage system where the storage system may access IMUs within its own memory to perform the tasks. Metadata associated with a set of data may be used to indicate whether an IMU for the data should be created by the database server machine or within the storage system.
    Type: Application
    Filed: October 21, 2016
    Publication date: April 27, 2017
    Inventors: Roger D. Macnicol, Viral Shah, Xia Hua, Jesse Kamp, Shasank K. Chavan, Maria Colgan, Tirthankar Lahiri, Adrian Tsz Him Ng, Krishnan Meiyyappan, Amit Ganesh, Juan R. Loaiza, Kothanda Umamageswaran, Yiran Qin
  • Publication number: 20170109406
    Abstract: Techniques are described herein for sharing a dictionary across multiple in-memory compression units (IMCUs). After a dictionary is used to encode a first column vector in a first IMCU, the same dictionary is used to encode a second column vector in a second IMCU. The entries in the dictionary are in sort order to facilitate binary searching when performing value-to-code look-ups. If, during the encoding of the second column vector, values are encountered for which the dictionary does not already have codes, then a “sort-order-boundary” is established after the last entry in the dictionary, and entries for the newly encountered values are added to the dictionary, after the sort-order-boundary. To facilitate value-to-code look-ups, the new entries are also sorted relative to each other, creating a second “sort order set”. A new version of the dictionary may be created when the number of sort order sets in the first version of the dictionary reaches a configurable threshold.
    Type: Application
    Filed: October 14, 2016
    Publication date: April 20, 2017
    Inventors: Shasank K. Chavan, Prashant Gaharwar, Ajit Mylavarapu, Dina Thomas, Dennis Lui, Sheldon A.K. Lewis, Roger D. Macnicol
  • Patent number: 9305080
    Abstract: A system, method, and computer program product for processing a database query are presented. Steps for identifying a table needed to resolve the query, creating an enumeration value, determining whether the enumeration value is semantically equivalent to data from a data field in the table, and using a temporary data structure to evaluate the query are disclosed.
    Type: Grant
    Filed: December 28, 2006
    Date of Patent: April 5, 2016
    Assignee: SYBASE, INC.
    Inventors: Steven A. Kirk, David E. Walrath, Fang-Ying Yen, Roger D. MacNicol
  • Patent number: 8321429
    Abstract: A system, method, and computer program product for processing a database query are presented. Steps for creating a secondary enumeration when necessary and utilizing the secondary enumeration to improve query operations by processing enumeration values of the secondary enumeration instead of data represented by the enumeration values are disclosed.
    Type: Grant
    Filed: December 28, 2006
    Date of Patent: November 27, 2012
    Assignee: Sybase, Inc.
    Inventors: Steven A. Kirk, David E. Walrath, Roland F. McKenney, Roger D. MacNicol
  • Publication number: 20090171936
    Abstract: A system, method, and computer program product are provided for optimizing LIKE-condition based queries on a table in a database system.
    Type: Application
    Filed: December 28, 2007
    Publication date: July 2, 2009
    Applicant: Sybase, Inc.
    Inventors: Steven A. KIRK, David E. Walrath, Roger D. Macnicol
  • Publication number: 20080162441
    Abstract: A system, method, and computer program product for processing a database query are presented. Steps for creating a secondary enumeration when necessary and utilizing the secondary enumeration to improve query operations by processing enumeration values of the secondary enumeration instead of data represented by the enumeration values are disclosed.
    Type: Application
    Filed: December 28, 2006
    Publication date: July 3, 2008
    Inventors: Steven A. Kirk, David E. Walrath, Roland F. McKenney, Roger D. MacNicol
  • Publication number: 20080162414
    Abstract: A system, method, and computer program product for processing a database query are presented. Steps for identifying a table needed to resolve the query, creating an enumeration value, determining whether the enumeration value is semantically equivalent to data from a data field in the table, and using a temporary data structure to evaluate the query are disclosed.
    Type: Application
    Filed: December 28, 2006
    Publication date: July 3, 2008
    Inventors: Steven A. Kirk, David E. Walrath, Fang-Ying Yen, Roger D. MacNicol
  • Patent number: 6823329
    Abstract: An improved method for handling database queries including functional expressions against columns having enumerated storage is described. Upon receipt of a query including a predicate having at least one functional expression referencing at least one database column containing offsets to values in enumerated storage, a look-up table is created for storing results of evaluation of the predicate against the values in enumerated storage. Each functional expression of the predicate is evaluated against the values in enumerated storage and the results of evaluation are stored in the look-up table. Results stored in the look-up table may then be accessed through use of the offsets to values in enumerated storage. The method may also be utilized for projecting expressions against database columns having enumerated storage.
    Type: Grant
    Filed: April 2, 2002
    Date of Patent: November 23, 2004
    Assignee: Sybase, Inc.
    Inventors: Steven A. Kirk, Roger D. MacNicol, Fang-Ying Yen
  • Patent number: 6691101
    Abstract: A database system providing improved methods for optimization and execution of queries aggregating information from multiple database tables is described. The improved method breaks serial operations into a group of child operations that can be individually optimized and processed in parallel. A query including a grouping operator over a union node is split by pushing the grouping operation down into each input arm of the union node. Specifically, grouping operators are inserted into each child arm of qualifying union nodes, enabling separate physical database tables to be summarized in parallel. Each of the child grouping operators concurrently groups data and generates summary results in parallel, taking advantage of capabilities of available parallel processing hardware. The aggregate operators of the original master grouping operator are modified to accept and correctly synthesize sub-aggregated results generated by each of the child grouping operators.
    Type: Grant
    Filed: February 4, 2002
    Date of Patent: February 10, 2004
    Assignee: Sybase, Inc.
    Inventors: Roger D. MacNicol, Steven A. Kirk, Xiqing Li
  • Publication number: 20020198872
    Abstract: A database system providing improved methods for optimization and execution of queries aggregating information from multiple database tables is described. The improved method breaks serial operations into a group of child operations that can be individually optimized and processed in parallel. A query including a grouping operator over a union node is split by pushing the grouping operation down into each input arm of the union node. Specifically, grouping operators are inserted into each child arm of qualifying union nodes, enabling separate physical database tables to be summarized in parallel. Each of the child grouping operators concurrently groups data and generates summary results in parallel, taking advantage of capabilities of available parallel processing hardware. The aggregate operators of the original master grouping operator are modified to accept and correctly synthesize sub-aggregated results generated by each of the child grouping operators.
    Type: Application
    Filed: February 4, 2002
    Publication date: December 26, 2002
    Applicant: Sybase, Inc.
    Inventors: Roger D. MacNicol, Steven A. Kirk, Xiqing Li