Patents by Inventor A. A. Hopeman
A. A. Hopeman 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: 10810198Abstract: Techniques related to group determination based on multi-table dictionary codes are disclosed. In some embodiments, one or more non-transitory storage media store a sequence of instructions which, when executed by one or more computing devices, cause performance of a method. The method comprises storing a fact table and a dimension table that share a domain dictionary. The fact table and the dimension table each have a column of encoded join keys that is decodable using the shared domain dictionary. A query may specify one or more row groups for the dimension table. To efficiently process the query, one or more group identifiers are assigned to the one or more row groups. Each row group corresponds to a different group identifier. This enables a code-to-group-identifier mapping to be generated. The code-to-group-identifier mapping correlates the encoded join keys to the one or more group identifiers.Type: GrantFiled: March 12, 2018Date of Patent: October 20, 2020Assignee: Oracle International CorporationInventors: Albert Hopeman, IV, Ekrem S. C. Soylemez, Martin Roth
-
Patent number: 10558659Abstract: Techniques are described herein for performing join and aggregation operations for a received query using column dictionaries. In an embodiment, a query is received that requests to aggregate a measure column of a fact table based on an aggregate function and join the fact table with a dimension table on a join key column. Data of the fact table may be stored in one or more storage data units, for example a particular data portion of the fact table may be stored on a particular data storage unit. The respective data portion may include one or more column vectors corresponding to one or more columns of the fact table in which a cell element corresponds to a value at a particular row and a particular column of the one or more columns of the fact table. The cell element of the one or more column vectors includes a dictionary encoded value of the value at the particular column and row. This dictionary encoded value is mapped to the value of by a dictionary data structure of the particular column.Type: GrantFiled: September 16, 2016Date of Patent: February 11, 2020Assignee: ORACLE INTERNATIONAL CORPORATIONInventors: Albert Hopeman, Martin Roth, Ekrem Soylemez, Adam Kociubes
-
Publication number: 20190095486Abstract: Techniques related to group determination based on multi-table dictionary codes are disclosed. In some embodiments, one or more non-transitory storage media store a sequence of instructions which, when executed by one or more computing devices, cause performance of a method. The method comprises storing a fact table and a dimension table that share a domain dictionary. The fact table and the dimension table each have a column of encoded join keys that is decodable using the shared domain dictionary. A query may specify one or more row groups for the dimension table. To efficiently process the query, one or more group identifiers are assigned to the one or more row groups. Each row group corresponds to a different group identifier. This enables a code-to-group-identifier mapping to be generated. The code-to-group-identifier mapping correlates the encoded join keys to the one or more group identifiers.Type: ApplicationFiled: March 12, 2018Publication date: March 28, 2019Inventors: Albert Hopeman, IV, Ekrem S.C. Soylemez, Martin Roth
-
Publication number: 20180081939Abstract: Techniques are described herein for performing join and aggregation operations for a received query using column dictionaries. In an embodiment, a query is received that requests to aggregate a measure column of a fact table based on an aggregate function and join the fact table with a dimension table on a join key column. Data of the fact table may be stored in one or more storage data units, for example a particular data portion of the fact table may be stored on a particular data storage unit. The respective data portion may include one or more column vectors corresponding to one or more columns of the fact table in which a cell element corresponds to a value at a particular row and a particular column of the one or more columns of the fact table. The cell element of the one or more column vectors includes a dictionary encoded value of the value at the particular column and row. This dictionary encoded value is mapped to the value of by a dictionary data structure of the particular column.Type: ApplicationFiled: September 16, 2016Publication date: March 22, 2018Inventors: Albert Hopeman, Martin Roth, Ekrem Soylemez, Adam Kociubes
-
Patent number: 9740718Abstract: Methods, computer systems, and stored instructions are described herein for densely grouping dimensional data and/or aggregating data using a data structure, such as one that is constructed based on dimensional data. When smaller tables are joined with a larger table, a server may analyze the smaller tables first to determine actual value combinations that occur in the smaller tables, and these actual value combinations are used to more efficiently process the larger table. A dense data structure may be generated by processing dimensional data before processing data from fact table. The dense data structure may be generated by compressing ranges of values that are possible in dimensions into a range of values that actually occurs in the dimensions. The compressed range of values may be represented by dense set identifiers rather than the actual compressed range of values.Type: GrantFiled: September 20, 2013Date of Patent: August 22, 2017Assignee: Oracle International CorporationInventors: Albert A. Hopeman, IV, Martin Roth, Ekrem S. C. Soylemez
-
Patent number: 9195699Abstract: A method and data structure is described that builds summary information using processor time that is usually proportional to the size of input data and a depth of hierarchies for a plurality of attributes. The output of computation is stored in a smaller area by eliminating redundant storage and computation. An index is generated which includes tuples or rows that include lower bound values for each of the attributes, values of children of the lower bound values based on the hierarchies of the attributes, and coverage class indicators of the coverage classes of the children.Type: GrantFiled: August 6, 2004Date of Patent: November 24, 2015Assignee: ORACLE INTERNATIONAL CORPORATIONInventors: Caleb Welton, Ekrem Soylemez, Albert A. Hopeman
-
Publication number: 20150088885Abstract: Methods, computer systems, and stored instructions are described herein for densely grouping dimensional data and/or aggregating data using a data structure, such as one that is constructed based on dimensional data. When smaller tables are joined with a larger table, a server may analyze the smaller tables first to determine actual value combinations that occur in the smaller tables, and these actual value combinations are used to more efficiently process the larger table. A dense data structure may be generated by processing dimensional data before processing data from fact table. The dense data structure may be generated by compressing ranges of values that are possible in dimensions into a range of values that actually occurs in the dimensions. The compressed range of values may be represented by dense set identifiers rather than the actual compressed range of values.Type: ApplicationFiled: September 20, 2013Publication date: March 26, 2015Inventors: ALBERT A. HOPEMAN IV, MARTIN ROTH, EKREM S.C. SOYLEMEZ
-
Patent number: 8612421Abstract: Predicate abduction involves identifying, from a database statement, predicates on attributes of dimensional data, and applying those predicates to corresponding measure data so that only measure values are fetched and returned for dimension values that satisfy the predicate. In contrast to processing joins of relational data, the subset of the measure data is determined without needing to join a fact table with a dimension table and, therefore, without processing every fact record to determine which measure values are associated with records that satisfy the condition. Buffer reuse involves storing in buffers the “domains” of queries executing on multidimensional data. Responsive to detecting that execution of a database statement requires multiple iterations of extracting the same multidimensional data, the data is extracted during the first iteration and stored in a buffer so that, for each subsequent iteration, the buffer-stored data is accessed rather than re-extracting the data.Type: GrantFiled: September 16, 2004Date of Patent: December 17, 2013Assignee: Oracle International CorporationInventors: Matthew Dombroski, Caleb Welton, Ekrem Soylemez, Albert A. Hopeman, IV
-
Patent number: 8200612Abstract: In processing a query on multidimensional data in a multidimensional schema, a multidimensional database server performs various processes to limit the amount of data that is extracted from the database and presented to a relational database server in response to the request. A subset of data is identified to extract from the multidimensional data, based on the query. In various embodiments, cell-filtering, measure-filtering, and column-filtering criteria identified from the query are used to filter the subset of data, in order to return a minimized set of multidimensional data values from the subset of data. Therefore, computational resources are conserved with respect to further processing by the relational database server in response to the query.Type: GrantFiled: May 6, 2004Date of Patent: June 12, 2012Assignee: Oracle International CorporationInventors: Ekrem Soylemez, Caleb Welton, Gregory Dorman, Matthew Dombroski, Albert A. Hopeman, IV, Igor Lubashev, Lev Margulis, Christopher Kearney, James Carey
-
Patent number: 7165065Abstract: In a multidimensional database, an aggregation operation is performed in an optimal manner by storing the values included in the/aggregation operation on the same disk page. A sparsity manager determines aggregate values that are computed from other data values during the aggregation operation. Each aggregate value is associated with one or more data values that are used during the aggregation operation to compute the aggregate value. The sparsity manager stores the associated data values in proximity to each other, such as on the same disk page, so that multiple disk page fetches may not be required for the same set of data values during the aggregation operation. The data values used in the aggregation operation can therefore be fetched once from a disk page, and thereafter are found in memory, such as on a cache page corresponding to the disk page. In this manner, multiple fetches for the same disk page during the aggregation operation are avoided.Type: GrantFiled: July 14, 2000Date of Patent: January 16, 2007Assignee: Oracle CorporationInventors: Caleb E. Welton, Albert A. Hopeman, Andrew H. Goldberg
-
Publication number: 20060004885Abstract: Multiple writers can make permanent changes to data objects, while the performance is improved and data consistency is ensured. A database management system comprises a database containing a plurality of objects, and, possibly, a plurality of analytic workspaces, each analytic workspace containing at least some of the plurality of objects in the database, wherein changes made to a an object in a database private view are not written to a corresponding object in the database unless write access on the object has been given to the database private view, and wherein the database management system is operable to give write access on each of the plurality of objects in the database to database private views individually.Type: ApplicationFiled: June 30, 2004Publication date: January 5, 2006Applicant: ORACLE INTERNATIONAL CORPORATIONInventors: Igor Lubashev, James Carey, Albert Hopeman, Bruce Golbus, Ekrem Soylemez, Zhiqi Qiu
-
Patent number: 6898608Abstract: An analytical workspace includes a set of data on which what-if analysis is performed, which is stored persistently and managed in a relational database system. The data may be stored as a binary large object in relational tables, and may comprise a portion of a multidimensional cube. A series of commands on the analytical workspace is received by a database server. In response to the commands, changes are made to the data in temporary storage. Redo information is not generated at this time in association with such changes. Hence, these changes are not made permanent at this time. At some point, the server may receive an update command to make the changes permanent. In response to the update command, redo information is generated for the changes reflected in the temporary storage and the changes are made permanent, in accordance with relational database properties.Type: GrantFiled: April 16, 2003Date of Patent: May 24, 2005Assignee: Oracle International CorporationInventors: A. A. Hopeman, James Carey, Ekrem Soylemez, Bruce Golbus, Igor Lubashev, Zhiqi Qiu
-
Publication number: 20050065910Abstract: A method and data structure is described that builds summary information using processor time that is usually proportional to the size of input data and a depth of hierarchies for a plurality of attributes. The output of computation is stored in a smaller area by eliminating redundant storage and computation. An index is generated which includes tuples or rows that include lower bound values for each of the attributes, values of children of the lower bound values based on the hierarchies of the attributes, and coverage class indicators of the coverage classes of the children.Type: ApplicationFiled: August 6, 2004Publication date: March 24, 2005Inventors: Caleb Welton, Ekrem Soylemez, A.A. Hopeman
-
Publication number: 20050033741Abstract: Predicate abduction involves identifying, from a database statement, predicates on attributes of dimensional data, and applying those predicates to corresponding measure data so that only measure values are fetched and returned for dimension values that satisfy the predicate. In contrast to processing joins of relational data, the subset of the measure data is determined without needing to join a fact table with a dimension table and, therefore, without processing every fact record to determine which measure values are associated with records that satisfy the condition. Buffer reuse involves storing in buffers the “domains” of queries being executed on multidimensional data. In response to detecting that execution of a database statement requires multiple iterations of extracting the same multidimensional data, the data is extracted during the first iteration and stored in a buffer so that, for each subsequent iteration, the data in the buffer is accessed rather than again extracting the data.Type: ApplicationFiled: September 16, 2004Publication date: February 10, 2005Applicant: ORACLE INTERNATIONAL CORPORATIONInventors: Matthew Dombroski, Caleb Welton, Ekrem Soylemez, Albert Hopeman
-
Patent number: 6845430Abstract: In a multi-threaded computing environment, a shared cache system reduces the amount of redundant information stored in memory. A cache memory area provides both global readable data and private writable data to processing threads. A particular processing thread accesses data by first checking its private views of modified data and then its global views of read-only data. Uncached data is read into a cache buffer for global access. If write access is required by the processing thread, the data is copied into a new cache buffer, which is assigned to the processing thread's private view. The particular shared cache system supports generational views of data. The system is particularly useful in on-line analytical processing of multi-dimensional databases. In one embodiment, a dedicated collector reclaims cache memory blocks for the processing threads. By utilizing a dedicated collector thread, any processing penalty encountered during the reclamation process is absorbed by the dedicated collector.Type: GrantFiled: June 2, 2003Date of Patent: January 18, 2005Assignee: Oracle International CorporationInventors: Albert A. Hopeman, James E. Carey, Bruce F. Golbus
-
Publication number: 20040236767Abstract: In processing a query on multidimensional data in a multidimensional schema, a multidimensional database server performs various processes to limit the amount of data that is extracted from the database and presented to a relational database server in response to the request. A subset of data is identified to extract from the multidimensional data, based on the query. In various embodiments, cell-filtering, measure-filtering, and column-filtering criteria identified from the query are used to filter the subset of data, in order to return a minimized set of multidimensional data values from the subset of data. Therefore, computational resources are conserved with respect to further processing by the relational database server in response to the query.Type: ApplicationFiled: May 6, 2004Publication date: November 25, 2004Applicant: ORACLE INTERNATIONAL CORPORATIONInventors: Ekrem Soylemez, Caleb Welton, Gregory Dorman, Matthew Dombroski, Albert A. Hopeman, Igor Lubashev, Lev Margulis, Christopher Kearney, James Carey
-
Publication number: 20030204534Abstract: An analytical workspace includes a set of data on which what-if analysis is performed, which is stored persistently and managed in a relational database system. The data may be stored as a binary large object in relational tables, and may comprise a portion of a multidimensional cube. A series of commands on the analytical workspace is received by a database server. In response to the commands, changes are made to the data in temporary storage. Redo information is not generated at this time in association with such changes. Hence, these changes are not made permanent at this time. At some point, the server may receive an update command to make the changes permanent. In response to the update command, redo information is generated for the changes reflected in the temporary storage and the changes are made permanent, in accordance with relational database properties.Type: ApplicationFiled: April 16, 2003Publication date: October 30, 2003Applicant: ORACLE INTERNATIONAL CORPORATIONInventors: A. A. Hopeman, James Carey, Ekrem Soylemez, Bruce Golbus, Igor Lubashev, Zhiqi Qiu
-
Publication number: 20030196042Abstract: In a multi-threaded computing environment, a shared cache system reduces the amount of redundant information stored in memory. A cache memory area provides both global readable data and private writable data to processing threads. A particular processing thread accesses data by first checking its private views of modified data and then its global views of read-only data. Uncached data is read into a cache buffer for global access. If write access is required by the processing thread, the data is copied into a new cache buffer, which is assigned to the processing thread's private view. The particular shared cache system supports generational views of data. The system is particularly useful in on-line analytical processing of multi-dimensional databases. In one embodiment, a dedicated collector reclaims cache memory blocks for the processing threads. By utilizing a dedicated collector thread, any processing penalty encountered during the reclamation process is absorbed by the dedicated collector.Type: ApplicationFiled: June 2, 2003Publication date: October 16, 2003Applicant: ORACLE International CorporationInventors: Albert A. Hopeman, James E. Carey, Bruce F. Golbus
-
Patent number: 6606621Abstract: A method for aggregating sparse data in a multidimensional array by using a composite join hierarchy created by segmenting the data so that each segment of the hierarchy processed is smaller and more likely to fit in memory. The method employs a recursive sub-cubing mechanism wherein an n-dimensional cube is broken into a number of (n−1)-dimensional cubes and each of those cubes are solved as (n−2)-dimensional cubes etc. Within each division, the processing is segmented by hierarchy level so a dimension with three hierarchy levels (for example, month-quarter-year) would form three separate subcubes with one less dimension. This algorithm produces one ‘worklist’ for every combination of hierarchy levels in the cube. Each of these worklists is represented as a bitmap of the cells contained within it and may be used as a basis of generating more aggregate worklists.Type: GrantFiled: May 30, 2001Date of Patent: August 12, 2003Assignee: Oracle International Corp.Inventors: Albert A. Hopeman, Caleb E. Welton, Grant E. Hicks
-
Patent number: 6584475Abstract: Growth of databases in read-repeatable environments is controlled by an erase list maintained for each generation of the database. The erase list identifies pages which are retained in the database to facilitate read repeatability. The system uses the erase list to identify obsolete pages which can be removed from the database. The removed pages can then be reclaimed for re-use by a subsequent generation.Type: GrantFiled: December 15, 1999Date of Patent: June 24, 2003Assignee: Oracle International CorporationInventors: James E. Carey, Charles P. Venezia, Jr., Albert Hopeman