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: 10726016Abstract: 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: GrantFiled: October 14, 2016Date of Patent: July 28, 2020Assignee: Oracle International CorporationInventors: Shasank K. Chavan, Prashant Gaharwar, Ajit Mylavarapu, Dina Thomas, Dennis Lui, Sheldon A. K. Lewis, Roger D. Macnicol
-
Patent number: 10678788Abstract: 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: GrantFiled: October 21, 2016Date of Patent: June 9, 2020Assignee: Oracle International CorporationInventors: 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: 10198363Abstract: 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: GrantFiled: September 16, 2016Date of Patent: February 5, 2019Assignee: Oracle International CorporationInventors: Roger D. MacNicol, Tirthankar Lahiri, Kothanda Umamageswaran, Adrian Tsz Him Ng, Laura Liaoruo Wang, Krishnan Meiyyappan
-
Patent number: 10042781Abstract: 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: GrantFiled: September 16, 2016Date of Patent: August 7, 2018Assignee: Oracle International CorporationInventors: Roger D. MacNicol, Tirthankar Lahiri, Kothanda Umamageswaran, Adrian Tsz Him Ng, Laura Liaoruo Wang, Krishnan Meiyyappan
-
Publication number: 20170116136Abstract: 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: ApplicationFiled: September 16, 2016Publication date: April 27, 2017Inventors: ROGER D. MACNICOL, TIRTHANKAR LAHIRI, KOTHANDA UMAMAGESWARAN, ADRIAN TSZ HIM NG, LAURA LIAORUO WANG, KRISHNAN MEIYYAPPAN
-
Publication number: 20170116269Abstract: 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: ApplicationFiled: October 21, 2016Publication date: April 27, 2017Inventors: 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: 20170109406Abstract: 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: ApplicationFiled: October 14, 2016Publication date: April 20, 2017Inventors: Shasank K. Chavan, Prashant Gaharwar, Ajit Mylavarapu, Dina Thomas, Dennis Lui, Sheldon A.K. Lewis, Roger D. Macnicol
-
Patent number: 9305080Abstract: 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: GrantFiled: December 28, 2006Date of Patent: April 5, 2016Assignee: SYBASE, INC.Inventors: Steven A. Kirk, David E. Walrath, Fang-Ying Yen, Roger D. MacNicol
-
Patent number: 8321429Abstract: 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: GrantFiled: December 28, 2006Date of Patent: November 27, 2012Assignee: Sybase, Inc.Inventors: Steven A. Kirk, David E. Walrath, Roland F. McKenney, Roger D. MacNicol
-
Publication number: 20090171936Abstract: A system, method, and computer program product are provided for optimizing LIKE-condition based queries on a table in a database system.Type: ApplicationFiled: December 28, 2007Publication date: July 2, 2009Applicant: Sybase, Inc.Inventors: Steven A. KIRK, David E. Walrath, Roger D. Macnicol
-
Publication number: 20080162441Abstract: 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: ApplicationFiled: December 28, 2006Publication date: July 3, 2008Inventors: Steven A. Kirk, David E. Walrath, Roland F. McKenney, Roger D. MacNicol
-
Publication number: 20080162414Abstract: 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: ApplicationFiled: December 28, 2006Publication date: July 3, 2008Inventors: Steven A. Kirk, David E. Walrath, Fang-Ying Yen, Roger D. MacNicol
-
Patent number: 6823329Abstract: 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: GrantFiled: April 2, 2002Date of Patent: November 23, 2004Assignee: Sybase, Inc.Inventors: Steven A. Kirk, Roger D. MacNicol, Fang-Ying Yen
-
Patent number: 6691101Abstract: 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: GrantFiled: February 4, 2002Date of Patent: February 10, 2004Assignee: Sybase, Inc.Inventors: Roger D. MacNicol, Steven A. Kirk, Xiqing Li
-
Publication number: 20020198872Abstract: 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: ApplicationFiled: February 4, 2002Publication date: December 26, 2002Applicant: Sybase, Inc.Inventors: Roger D. MacNicol, Steven A. Kirk, Xiqing Li